/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace WorkSpaces { namespace Model { /** */ class ModifySamlPropertiesRequest : public WorkSpacesRequest { public: AWS_WORKSPACES_API ModifySamlPropertiesRequest(); // 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 "ModifySamlProperties"; } AWS_WORKSPACES_API Aws::String SerializePayload() const override; AWS_WORKSPACES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The directory identifier for which you want to configure SAML properties.

*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } /** *

The directory identifier for which you want to configure SAML properties.

*/ inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } /** *

The directory identifier for which you want to configure SAML properties.

*/ inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } /** *

The directory identifier for which you want to configure SAML properties.

*/ inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } /** *

The directory identifier for which you want to configure SAML properties.

*/ inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } /** *

The directory identifier for which you want to configure SAML properties.

*/ inline ModifySamlPropertiesRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *

The directory identifier for which you want to configure SAML properties.

*/ inline ModifySamlPropertiesRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *

The directory identifier for which you want to configure SAML properties.

*/ inline ModifySamlPropertiesRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;} /** *

The properties for configuring SAML 2.0 authentication.

*/ inline const SamlProperties& GetSamlProperties() const{ return m_samlProperties; } /** *

The properties for configuring SAML 2.0 authentication.

*/ inline bool SamlPropertiesHasBeenSet() const { return m_samlPropertiesHasBeenSet; } /** *

The properties for configuring SAML 2.0 authentication.

*/ inline void SetSamlProperties(const SamlProperties& value) { m_samlPropertiesHasBeenSet = true; m_samlProperties = value; } /** *

The properties for configuring SAML 2.0 authentication.

*/ inline void SetSamlProperties(SamlProperties&& value) { m_samlPropertiesHasBeenSet = true; m_samlProperties = std::move(value); } /** *

The properties for configuring SAML 2.0 authentication.

*/ inline ModifySamlPropertiesRequest& WithSamlProperties(const SamlProperties& value) { SetSamlProperties(value); return *this;} /** *

The properties for configuring SAML 2.0 authentication.

*/ inline ModifySamlPropertiesRequest& WithSamlProperties(SamlProperties&& value) { SetSamlProperties(std::move(value)); return *this;} /** *

The SAML properties to delete as part of your request.

Specify one of * the following options:

  • * SAML_PROPERTIES_USER_ACCESS_URL to delete the user access URL.

    *
  • SAML_PROPERTIES_RELAY_STATE_PARAMETER_NAME to delete * the relay state parameter name.

*/ inline const Aws::Vector& GetPropertiesToDelete() const{ return m_propertiesToDelete; } /** *

The SAML properties to delete as part of your request.

Specify one of * the following options:

  • * SAML_PROPERTIES_USER_ACCESS_URL to delete the user access URL.

    *
  • SAML_PROPERTIES_RELAY_STATE_PARAMETER_NAME to delete * the relay state parameter name.

*/ inline bool PropertiesToDeleteHasBeenSet() const { return m_propertiesToDeleteHasBeenSet; } /** *

The SAML properties to delete as part of your request.

Specify one of * the following options:

  • * SAML_PROPERTIES_USER_ACCESS_URL to delete the user access URL.

    *
  • SAML_PROPERTIES_RELAY_STATE_PARAMETER_NAME to delete * the relay state parameter name.

*/ inline void SetPropertiesToDelete(const Aws::Vector& value) { m_propertiesToDeleteHasBeenSet = true; m_propertiesToDelete = value; } /** *

The SAML properties to delete as part of your request.

Specify one of * the following options:

  • * SAML_PROPERTIES_USER_ACCESS_URL to delete the user access URL.

    *
  • SAML_PROPERTIES_RELAY_STATE_PARAMETER_NAME to delete * the relay state parameter name.

*/ inline void SetPropertiesToDelete(Aws::Vector&& value) { m_propertiesToDeleteHasBeenSet = true; m_propertiesToDelete = std::move(value); } /** *

The SAML properties to delete as part of your request.

Specify one of * the following options:

  • * SAML_PROPERTIES_USER_ACCESS_URL to delete the user access URL.

    *
  • SAML_PROPERTIES_RELAY_STATE_PARAMETER_NAME to delete * the relay state parameter name.

*/ inline ModifySamlPropertiesRequest& WithPropertiesToDelete(const Aws::Vector& value) { SetPropertiesToDelete(value); return *this;} /** *

The SAML properties to delete as part of your request.

Specify one of * the following options:

  • * SAML_PROPERTIES_USER_ACCESS_URL to delete the user access URL.

    *
  • SAML_PROPERTIES_RELAY_STATE_PARAMETER_NAME to delete * the relay state parameter name.

*/ inline ModifySamlPropertiesRequest& WithPropertiesToDelete(Aws::Vector&& value) { SetPropertiesToDelete(std::move(value)); return *this;} /** *

The SAML properties to delete as part of your request.

Specify one of * the following options:

  • * SAML_PROPERTIES_USER_ACCESS_URL to delete the user access URL.

    *
  • SAML_PROPERTIES_RELAY_STATE_PARAMETER_NAME to delete * the relay state parameter name.

*/ inline ModifySamlPropertiesRequest& AddPropertiesToDelete(const DeletableSamlProperty& value) { m_propertiesToDeleteHasBeenSet = true; m_propertiesToDelete.push_back(value); return *this; } /** *

The SAML properties to delete as part of your request.

Specify one of * the following options:

  • * SAML_PROPERTIES_USER_ACCESS_URL to delete the user access URL.

    *
  • SAML_PROPERTIES_RELAY_STATE_PARAMETER_NAME to delete * the relay state parameter name.

*/ inline ModifySamlPropertiesRequest& AddPropertiesToDelete(DeletableSamlProperty&& value) { m_propertiesToDeleteHasBeenSet = true; m_propertiesToDelete.push_back(std::move(value)); return *this; } private: Aws::String m_resourceId; bool m_resourceIdHasBeenSet = false; SamlProperties m_samlProperties; bool m_samlPropertiesHasBeenSet = false; Aws::Vector m_propertiesToDelete; bool m_propertiesToDeleteHasBeenSet = false; }; } // namespace Model } // namespace WorkSpaces } // namespace Aws