/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace SSOOIDC { namespace Model { /** */ class AWS_SSOOIDC_API RegisterClientRequest : public SSOOIDCRequest { public: RegisterClientRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "RegisterClient"; } Aws::String SerializePayload() const override; /** *

The friendly name of the client.

*/ inline const Aws::String& GetClientName() const{ return m_clientName; } /** *

The friendly name of the client.

*/ inline bool ClientNameHasBeenSet() const { return m_clientNameHasBeenSet; } /** *

The friendly name of the client.

*/ inline void SetClientName(const Aws::String& value) { m_clientNameHasBeenSet = true; m_clientName = value; } /** *

The friendly name of the client.

*/ inline void SetClientName(Aws::String&& value) { m_clientNameHasBeenSet = true; m_clientName = std::move(value); } /** *

The friendly name of the client.

*/ inline void SetClientName(const char* value) { m_clientNameHasBeenSet = true; m_clientName.assign(value); } /** *

The friendly name of the client.

*/ inline RegisterClientRequest& WithClientName(const Aws::String& value) { SetClientName(value); return *this;} /** *

The friendly name of the client.

*/ inline RegisterClientRequest& WithClientName(Aws::String&& value) { SetClientName(std::move(value)); return *this;} /** *

The friendly name of the client.

*/ inline RegisterClientRequest& WithClientName(const char* value) { SetClientName(value); return *this;} /** *

The type of client. The service supports only public as a client * type. Anything other than public will be rejected by the service.

*/ inline const Aws::String& GetClientType() const{ return m_clientType; } /** *

The type of client. The service supports only public as a client * type. Anything other than public will be rejected by the service.

*/ inline bool ClientTypeHasBeenSet() const { return m_clientTypeHasBeenSet; } /** *

The type of client. The service supports only public as a client * type. Anything other than public will be rejected by the service.

*/ inline void SetClientType(const Aws::String& value) { m_clientTypeHasBeenSet = true; m_clientType = value; } /** *

The type of client. The service supports only public as a client * type. Anything other than public will be rejected by the service.

*/ inline void SetClientType(Aws::String&& value) { m_clientTypeHasBeenSet = true; m_clientType = std::move(value); } /** *

The type of client. The service supports only public as a client * type. Anything other than public will be rejected by the service.

*/ inline void SetClientType(const char* value) { m_clientTypeHasBeenSet = true; m_clientType.assign(value); } /** *

The type of client. The service supports only public as a client * type. Anything other than public will be rejected by the service.

*/ inline RegisterClientRequest& WithClientType(const Aws::String& value) { SetClientType(value); return *this;} /** *

The type of client. The service supports only public as a client * type. Anything other than public will be rejected by the service.

*/ inline RegisterClientRequest& WithClientType(Aws::String&& value) { SetClientType(std::move(value)); return *this;} /** *

The type of client. The service supports only public as a client * type. Anything other than public will be rejected by the service.

*/ inline RegisterClientRequest& WithClientType(const char* value) { SetClientType(value); return *this;} /** *

The list of scopes that are defined by the client. Upon authorization, this * list is used to restrict permissions when granting an access token.

*/ inline const Aws::Vector& GetScopes() const{ return m_scopes; } /** *

The list of scopes that are defined by the client. Upon authorization, this * list is used to restrict permissions when granting an access token.

*/ inline bool ScopesHasBeenSet() const { return m_scopesHasBeenSet; } /** *

The list of scopes that are defined by the client. Upon authorization, this * list is used to restrict permissions when granting an access token.

*/ inline void SetScopes(const Aws::Vector& value) { m_scopesHasBeenSet = true; m_scopes = value; } /** *

The list of scopes that are defined by the client. Upon authorization, this * list is used to restrict permissions when granting an access token.

*/ inline void SetScopes(Aws::Vector&& value) { m_scopesHasBeenSet = true; m_scopes = std::move(value); } /** *

The list of scopes that are defined by the client. Upon authorization, this * list is used to restrict permissions when granting an access token.

*/ inline RegisterClientRequest& WithScopes(const Aws::Vector& value) { SetScopes(value); return *this;} /** *

The list of scopes that are defined by the client. Upon authorization, this * list is used to restrict permissions when granting an access token.

*/ inline RegisterClientRequest& WithScopes(Aws::Vector&& value) { SetScopes(std::move(value)); return *this;} /** *

The list of scopes that are defined by the client. Upon authorization, this * list is used to restrict permissions when granting an access token.

*/ inline RegisterClientRequest& AddScopes(const Aws::String& value) { m_scopesHasBeenSet = true; m_scopes.push_back(value); return *this; } /** *

The list of scopes that are defined by the client. Upon authorization, this * list is used to restrict permissions when granting an access token.

*/ inline RegisterClientRequest& AddScopes(Aws::String&& value) { m_scopesHasBeenSet = true; m_scopes.push_back(std::move(value)); return *this; } /** *

The list of scopes that are defined by the client. Upon authorization, this * list is used to restrict permissions when granting an access token.

*/ inline RegisterClientRequest& AddScopes(const char* value) { m_scopesHasBeenSet = true; m_scopes.push_back(value); return *this; } private: Aws::String m_clientName; bool m_clientNameHasBeenSet; Aws::String m_clientType; bool m_clientTypeHasBeenSet; Aws::Vector m_scopes; bool m_scopesHasBeenSet; }; } // namespace Model } // namespace SSOOIDC } // namespace Aws