/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Http { class URI; } //namespace Http namespace IoT { namespace Model { /** */ class GetEffectivePoliciesRequest : public IoTRequest { public: AWS_IOT_API GetEffectivePoliciesRequest(); // 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 "GetEffectivePolicies"; } AWS_IOT_API Aws::String SerializePayload() const override; AWS_IOT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; /** *

The principal. Valid principals are CertificateArn * (arn:aws:iot:region:accountId:cert/certificateId), * thingGroupArn * (arn:aws:iot:region:accountId:thinggroup/groupName) and * CognitoId (region:id).

*/ inline const Aws::String& GetPrincipal() const{ return m_principal; } /** *

The principal. Valid principals are CertificateArn * (arn:aws:iot:region:accountId:cert/certificateId), * thingGroupArn * (arn:aws:iot:region:accountId:thinggroup/groupName) and * CognitoId (region:id).

*/ inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; } /** *

The principal. Valid principals are CertificateArn * (arn:aws:iot:region:accountId:cert/certificateId), * thingGroupArn * (arn:aws:iot:region:accountId:thinggroup/groupName) and * CognitoId (region:id).

*/ inline void SetPrincipal(const Aws::String& value) { m_principalHasBeenSet = true; m_principal = value; } /** *

The principal. Valid principals are CertificateArn * (arn:aws:iot:region:accountId:cert/certificateId), * thingGroupArn * (arn:aws:iot:region:accountId:thinggroup/groupName) and * CognitoId (region:id).

*/ inline void SetPrincipal(Aws::String&& value) { m_principalHasBeenSet = true; m_principal = std::move(value); } /** *

The principal. Valid principals are CertificateArn * (arn:aws:iot:region:accountId:cert/certificateId), * thingGroupArn * (arn:aws:iot:region:accountId:thinggroup/groupName) and * CognitoId (region:id).

*/ inline void SetPrincipal(const char* value) { m_principalHasBeenSet = true; m_principal.assign(value); } /** *

The principal. Valid principals are CertificateArn * (arn:aws:iot:region:accountId:cert/certificateId), * thingGroupArn * (arn:aws:iot:region:accountId:thinggroup/groupName) and * CognitoId (region:id).

*/ inline GetEffectivePoliciesRequest& WithPrincipal(const Aws::String& value) { SetPrincipal(value); return *this;} /** *

The principal. Valid principals are CertificateArn * (arn:aws:iot:region:accountId:cert/certificateId), * thingGroupArn * (arn:aws:iot:region:accountId:thinggroup/groupName) and * CognitoId (region:id).

*/ inline GetEffectivePoliciesRequest& WithPrincipal(Aws::String&& value) { SetPrincipal(std::move(value)); return *this;} /** *

The principal. Valid principals are CertificateArn * (arn:aws:iot:region:accountId:cert/certificateId), * thingGroupArn * (arn:aws:iot:region:accountId:thinggroup/groupName) and * CognitoId (region:id).

*/ inline GetEffectivePoliciesRequest& WithPrincipal(const char* value) { SetPrincipal(value); return *this;} /** *

The Cognito identity pool ID.

*/ inline const Aws::String& GetCognitoIdentityPoolId() const{ return m_cognitoIdentityPoolId; } /** *

The Cognito identity pool ID.

*/ inline bool CognitoIdentityPoolIdHasBeenSet() const { return m_cognitoIdentityPoolIdHasBeenSet; } /** *

The Cognito identity pool ID.

*/ inline void SetCognitoIdentityPoolId(const Aws::String& value) { m_cognitoIdentityPoolIdHasBeenSet = true; m_cognitoIdentityPoolId = value; } /** *

The Cognito identity pool ID.

*/ inline void SetCognitoIdentityPoolId(Aws::String&& value) { m_cognitoIdentityPoolIdHasBeenSet = true; m_cognitoIdentityPoolId = std::move(value); } /** *

The Cognito identity pool ID.

*/ inline void SetCognitoIdentityPoolId(const char* value) { m_cognitoIdentityPoolIdHasBeenSet = true; m_cognitoIdentityPoolId.assign(value); } /** *

The Cognito identity pool ID.

*/ inline GetEffectivePoliciesRequest& WithCognitoIdentityPoolId(const Aws::String& value) { SetCognitoIdentityPoolId(value); return *this;} /** *

The Cognito identity pool ID.

*/ inline GetEffectivePoliciesRequest& WithCognitoIdentityPoolId(Aws::String&& value) { SetCognitoIdentityPoolId(std::move(value)); return *this;} /** *

The Cognito identity pool ID.

*/ inline GetEffectivePoliciesRequest& WithCognitoIdentityPoolId(const char* value) { SetCognitoIdentityPoolId(value); return *this;} /** *

The thing name.

*/ inline const Aws::String& GetThingName() const{ return m_thingName; } /** *

The thing name.

*/ inline bool ThingNameHasBeenSet() const { return m_thingNameHasBeenSet; } /** *

The thing name.

*/ inline void SetThingName(const Aws::String& value) { m_thingNameHasBeenSet = true; m_thingName = value; } /** *

The thing name.

*/ inline void SetThingName(Aws::String&& value) { m_thingNameHasBeenSet = true; m_thingName = std::move(value); } /** *

The thing name.

*/ inline void SetThingName(const char* value) { m_thingNameHasBeenSet = true; m_thingName.assign(value); } /** *

The thing name.

*/ inline GetEffectivePoliciesRequest& WithThingName(const Aws::String& value) { SetThingName(value); return *this;} /** *

The thing name.

*/ inline GetEffectivePoliciesRequest& WithThingName(Aws::String&& value) { SetThingName(std::move(value)); return *this;} /** *

The thing name.

*/ inline GetEffectivePoliciesRequest& WithThingName(const char* value) { SetThingName(value); return *this;} private: Aws::String m_principal; bool m_principalHasBeenSet = false; Aws::String m_cognitoIdentityPoolId; bool m_cognitoIdentityPoolIdHasBeenSet = false; Aws::String m_thingName; bool m_thingNameHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws