All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.huaweicloud.sdk.iam.v3.IamMeta Maven / Gradle / Ivy

package com.huaweicloud.sdk.iam.v3;

import com.huaweicloud.sdk.core.http.FieldExistence;
import com.huaweicloud.sdk.core.http.HttpMethod;
import com.huaweicloud.sdk.core.http.HttpRequestDef;
import com.huaweicloud.sdk.core.http.LocationType;
import com.huaweicloud.sdk.iam.v3.model.*;
import java.util.List;
import java.util.Map;
import java.time.OffsetDateTime;

@SuppressWarnings("unchecked")
public class IamMeta {

    public static final HttpRequestDef associateAgencyWithAllProjectsPermission = genForassociateAgencyWithAllProjectsPermission();

    private static HttpRequestDef genForassociateAgencyWithAllProjectsPermission() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, AssociateAgencyWithAllProjectsPermissionRequest.class, AssociateAgencyWithAllProjectsPermissionResponse.class)
                .withName("AssociateAgencyWithAllProjectsPermission")
                .withUri("/v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}/inherited_to_projects")
                .withContentType("application/json");

        // requests
        builder.withRequestField("agency_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(AssociateAgencyWithAllProjectsPermissionRequest::getAgencyId, (req, v) -> {
                req.setAgencyId(v);
            })
        );
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(AssociateAgencyWithAllProjectsPermissionRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(AssociateAgencyWithAllProjectsPermissionRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef associateAgencyWithDomainPermission = genForassociateAgencyWithDomainPermission();

    private static HttpRequestDef genForassociateAgencyWithDomainPermission() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, AssociateAgencyWithDomainPermissionRequest.class, AssociateAgencyWithDomainPermissionResponse.class)
                .withName("AssociateAgencyWithDomainPermission")
                .withUri("/v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(AssociateAgencyWithDomainPermissionRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("agency_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(AssociateAgencyWithDomainPermissionRequest::getAgencyId, (req, v) -> {
                req.setAgencyId(v);
            })
        );
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(AssociateAgencyWithDomainPermissionRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef associateAgencyWithProjectPermission = genForassociateAgencyWithProjectPermission();

    private static HttpRequestDef genForassociateAgencyWithProjectPermission() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, AssociateAgencyWithProjectPermissionRequest.class, AssociateAgencyWithProjectPermissionResponse.class)
                .withName("AssociateAgencyWithProjectPermission")
                .withUri("/v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("project_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(AssociateAgencyWithProjectPermissionRequest::getProjectId, (req, v) -> {
                req.setProjectId(v);
            })
        );
        builder.withRequestField("agency_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(AssociateAgencyWithProjectPermissionRequest::getAgencyId, (req, v) -> {
                req.setAgencyId(v);
            })
        );
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(AssociateAgencyWithProjectPermissionRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef checkAllProjectsPermissionForAgency = genForcheckAllProjectsPermissionForAgency();

    private static HttpRequestDef genForcheckAllProjectsPermissionForAgency() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.HEAD, CheckAllProjectsPermissionForAgencyRequest.class, CheckAllProjectsPermissionForAgencyResponse.class)
                .withName("CheckAllProjectsPermissionForAgency")
                .withUri("/v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}/inherited_to_projects")
                .withContentType("application/json");

        // requests
        builder.withRequestField("agency_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(CheckAllProjectsPermissionForAgencyRequest::getAgencyId, (req, v) -> {
                req.setAgencyId(v);
            })
        );
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(CheckAllProjectsPermissionForAgencyRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(CheckAllProjectsPermissionForAgencyRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef checkDomainPermissionForAgency = genForcheckDomainPermissionForAgency();

    private static HttpRequestDef genForcheckDomainPermissionForAgency() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.HEAD, CheckDomainPermissionForAgencyRequest.class, CheckDomainPermissionForAgencyResponse.class)
                .withName("CheckDomainPermissionForAgency")
                .withUri("/v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(CheckDomainPermissionForAgencyRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("agency_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(CheckDomainPermissionForAgencyRequest::getAgencyId, (req, v) -> {
                req.setAgencyId(v);
            })
        );
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(CheckDomainPermissionForAgencyRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef checkProjectPermissionForAgency = genForcheckProjectPermissionForAgency();

    private static HttpRequestDef genForcheckProjectPermissionForAgency() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.HEAD, CheckProjectPermissionForAgencyRequest.class, CheckProjectPermissionForAgencyResponse.class)
                .withName("CheckProjectPermissionForAgency")
                .withUri("/v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("project_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(CheckProjectPermissionForAgencyRequest::getProjectId, (req, v) -> {
                req.setProjectId(v);
            })
        );
        builder.withRequestField("agency_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(CheckProjectPermissionForAgencyRequest::getAgencyId, (req, v) -> {
                req.setAgencyId(v);
            })
        );
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(CheckProjectPermissionForAgencyRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef createAgency = genForcreateAgency();

    private static HttpRequestDef genForcreateAgency() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreateAgencyRequest.class, CreateAgencyResponse.class)
                .withName("CreateAgency")
                .withUri("/v3.0/OS-AGENCY/agencies")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            CreateAgencyRequestBody.class,
            f -> f.withMarshaller(CreateAgencyRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef createAgencyCustomPolicy = genForcreateAgencyCustomPolicy();

    private static HttpRequestDef genForcreateAgencyCustomPolicy() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreateAgencyCustomPolicyRequest.class, CreateAgencyCustomPolicyResponse.class)
                .withName("CreateAgencyCustomPolicy")
                .withUri("/v3.0/OS-ROLE/roles")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            CreateAgencyCustomPolicyRequestBody.class,
            f -> f.withMarshaller(CreateAgencyCustomPolicyRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef createCloudServiceCustomPolicy = genForcreateCloudServiceCustomPolicy();

    private static HttpRequestDef genForcreateCloudServiceCustomPolicy() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreateCloudServiceCustomPolicyRequest.class, CreateCloudServiceCustomPolicyResponse.class)
                .withName("CreateCloudServiceCustomPolicy")
                .withUri("/v3.0/OS-ROLE/roles")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            CreateCloudServiceCustomPolicyRequestBody.class,
            f -> f.withMarshaller(CreateCloudServiceCustomPolicyRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef createLoginToken = genForcreateLoginToken();

    private static HttpRequestDef genForcreateLoginToken() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreateLoginTokenRequest.class, CreateLoginTokenResponse.class)
                .withName("CreateLoginToken")
                .withUri("/v3.0/OS-AUTH/securitytoken/logintokens")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            CreateLoginTokenRequestBody.class,
            f -> f.withMarshaller(CreateLoginTokenRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        builder.withResponseField(
            "X-Subject-LoginToken",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(
                CreateLoginTokenResponse::getXSubjectLoginToken,
                CreateLoginTokenResponse::setXSubjectLoginToken)
        );
        return builder.build();
    }

    public static final HttpRequestDef createMetadata = genForcreateMetadata();

    private static HttpRequestDef genForcreateMetadata() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreateMetadataRequest.class, CreateMetadataResponse.class)
                .withName("CreateMetadata")
                .withUri("/v3-ext/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/metadata")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("idp_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(CreateMetadataRequest::getIdpId, (req, v) -> {
                req.setIdpId(v);
            })
        );
        builder.withRequestField("protocol_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(CreateMetadataRequest::getProtocolId, (req, v) -> {
                req.setProtocolId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            CreateMetadataRequestBody.class,
            f -> f.withMarshaller(CreateMetadataRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef createOpenIdConnectConfig = genForcreateOpenIdConnectConfig();

    private static HttpRequestDef genForcreateOpenIdConnectConfig() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreateOpenIdConnectConfigRequest.class, CreateOpenIdConnectConfigResponse.class)
                .withName("CreateOpenIdConnectConfig")
                .withUri("/v3.0/OS-FEDERATION/identity-providers/{idp_id}/openid-connect-config")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("idp_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(CreateOpenIdConnectConfigRequest::getIdpId, (req, v) -> {
                req.setIdpId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            CreateOpenIdConnectConfigRequestBody.class,
            f -> f.withMarshaller(CreateOpenIdConnectConfigRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef createTokenWithIdToken = genForcreateTokenWithIdToken();

    private static HttpRequestDef genForcreateTokenWithIdToken() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreateTokenWithIdTokenRequest.class, CreateTokenWithIdTokenResponse.class)
                .withName("CreateTokenWithIdToken")
                .withUri("/v3.0/OS-AUTH/id-token/tokens")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("X-Idp-Id",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(CreateTokenWithIdTokenRequest::getXIdpId, (req, v) -> {
                req.setXIdpId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            GetIdTokenRequestBody.class,
            f -> f.withMarshaller(CreateTokenWithIdTokenRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        builder.withResponseField(
            "X-Subject-Token",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(
                CreateTokenWithIdTokenResponse::getXSubjectToken,
                CreateTokenWithIdTokenResponse::setXSubjectToken)
        );
        return builder.build();
    }

    public static final HttpRequestDef deleteAgency = genFordeleteAgency();

    private static HttpRequestDef genFordeleteAgency() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, DeleteAgencyRequest.class, DeleteAgencyResponse.class)
                .withName("DeleteAgency")
                .withUri("/v3.0/OS-AGENCY/agencies/{agency_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("agency_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(DeleteAgencyRequest::getAgencyId, (req, v) -> {
                req.setAgencyId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef deleteCustomPolicy = genFordeleteCustomPolicy();

    private static HttpRequestDef genFordeleteCustomPolicy() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, DeleteCustomPolicyRequest.class, DeleteCustomPolicyResponse.class)
                .withName("DeleteCustomPolicy")
                .withUri("/v3.0/OS-ROLE/roles/{role_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(DeleteCustomPolicyRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef deleteDomainGroupInheritedRole = genFordeleteDomainGroupInheritedRole();

    private static HttpRequestDef genFordeleteDomainGroupInheritedRole() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, DeleteDomainGroupInheritedRoleRequest.class, DeleteDomainGroupInheritedRoleResponse.class)
                .withName("DeleteDomainGroupInheritedRole")
                .withUri("/v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(DeleteDomainGroupInheritedRoleRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("group_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(DeleteDomainGroupInheritedRoleRequest::getGroupId, (req, v) -> {
                req.setGroupId(v);
            })
        );
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(DeleteDomainGroupInheritedRoleRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneAddUserToGroup = genForkeystoneAddUserToGroup();

    private static HttpRequestDef genForkeystoneAddUserToGroup() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, KeystoneAddUserToGroupRequest.class, KeystoneAddUserToGroupResponse.class)
                .withName("KeystoneAddUserToGroup")
                .withUri("/v3/groups/{group_id}/users/{user_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("group_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneAddUserToGroupRequest::getGroupId, (req, v) -> {
                req.setGroupId(v);
            })
        );
        builder.withRequestField("user_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneAddUserToGroupRequest::getUserId, (req, v) -> {
                req.setUserId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneAssociateGroupWithDomainPermission = genForkeystoneAssociateGroupWithDomainPermission();

    private static HttpRequestDef genForkeystoneAssociateGroupWithDomainPermission() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, KeystoneAssociateGroupWithDomainPermissionRequest.class, KeystoneAssociateGroupWithDomainPermissionResponse.class)
                .withName("KeystoneAssociateGroupWithDomainPermission")
                .withUri("/v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneAssociateGroupWithDomainPermissionRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("group_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneAssociateGroupWithDomainPermissionRequest::getGroupId, (req, v) -> {
                req.setGroupId(v);
            })
        );
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneAssociateGroupWithDomainPermissionRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneAssociateGroupWithProjectPermission = genForkeystoneAssociateGroupWithProjectPermission();

    private static HttpRequestDef genForkeystoneAssociateGroupWithProjectPermission() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, KeystoneAssociateGroupWithProjectPermissionRequest.class, KeystoneAssociateGroupWithProjectPermissionResponse.class)
                .withName("KeystoneAssociateGroupWithProjectPermission")
                .withUri("/v3/projects/{project_id}/groups/{group_id}/roles/{role_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("project_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneAssociateGroupWithProjectPermissionRequest::getProjectId, (req, v) -> {
                req.setProjectId(v);
            })
        );
        builder.withRequestField("group_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneAssociateGroupWithProjectPermissionRequest::getGroupId, (req, v) -> {
                req.setGroupId(v);
            })
        );
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneAssociateGroupWithProjectPermissionRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneCheckDomainPermissionForGroup = genForkeystoneCheckDomainPermissionForGroup();

    private static HttpRequestDef genForkeystoneCheckDomainPermissionForGroup() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.HEAD, KeystoneCheckDomainPermissionForGroupRequest.class, KeystoneCheckDomainPermissionForGroupResponse.class)
                .withName("KeystoneCheckDomainPermissionForGroup")
                .withUri("/v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneCheckDomainPermissionForGroupRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("group_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneCheckDomainPermissionForGroupRequest::getGroupId, (req, v) -> {
                req.setGroupId(v);
            })
        );
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneCheckDomainPermissionForGroupRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneCheckProjectPermissionForGroup = genForkeystoneCheckProjectPermissionForGroup();

    private static HttpRequestDef genForkeystoneCheckProjectPermissionForGroup() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.HEAD, KeystoneCheckProjectPermissionForGroupRequest.class, KeystoneCheckProjectPermissionForGroupResponse.class)
                .withName("KeystoneCheckProjectPermissionForGroup")
                .withUri("/v3/projects/{project_id}/groups/{group_id}/roles/{role_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("project_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneCheckProjectPermissionForGroupRequest::getProjectId, (req, v) -> {
                req.setProjectId(v);
            })
        );
        builder.withRequestField("group_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneCheckProjectPermissionForGroupRequest::getGroupId, (req, v) -> {
                req.setGroupId(v);
            })
        );
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneCheckProjectPermissionForGroupRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneCheckUserInGroup = genForkeystoneCheckUserInGroup();

    private static HttpRequestDef genForkeystoneCheckUserInGroup() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.HEAD, KeystoneCheckUserInGroupRequest.class, KeystoneCheckUserInGroupResponse.class)
                .withName("KeystoneCheckUserInGroup")
                .withUri("/v3/groups/{group_id}/users/{user_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("group_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneCheckUserInGroupRequest::getGroupId, (req, v) -> {
                req.setGroupId(v);
            })
        );
        builder.withRequestField("user_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneCheckUserInGroupRequest::getUserId, (req, v) -> {
                req.setUserId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneCheckroleForGroup = genForkeystoneCheckroleForGroup();

    private static HttpRequestDef genForkeystoneCheckroleForGroup() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.HEAD, KeystoneCheckroleForGroupRequest.class, KeystoneCheckroleForGroupResponse.class)
                .withName("KeystoneCheckroleForGroup")
                .withUri("/v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneCheckroleForGroupRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("group_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneCheckroleForGroupRequest::getGroupId, (req, v) -> {
                req.setGroupId(v);
            })
        );
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneCheckroleForGroupRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneCreateGroup = genForkeystoneCreateGroup();

    private static HttpRequestDef genForkeystoneCreateGroup() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, KeystoneCreateGroupRequest.class, KeystoneCreateGroupResponse.class)
                .withName("KeystoneCreateGroup")
                .withUri("/v3/groups")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            KeystoneCreateGroupRequestBody.class,
            f -> f.withMarshaller(KeystoneCreateGroupRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneCreateIdentityProvider = genForkeystoneCreateIdentityProvider();

    private static HttpRequestDef genForkeystoneCreateIdentityProvider() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, KeystoneCreateIdentityProviderRequest.class, KeystoneCreateIdentityProviderResponse.class)
                .withName("KeystoneCreateIdentityProvider")
                .withUri("/v3/OS-FEDERATION/identity_providers/{id}")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneCreateIdentityProviderRequest::getId, (req, v) -> {
                req.setId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            KeystoneCreateIdentityProviderRequestBody.class,
            f -> f.withMarshaller(KeystoneCreateIdentityProviderRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneCreateMapping = genForkeystoneCreateMapping();

    private static HttpRequestDef genForkeystoneCreateMapping() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, KeystoneCreateMappingRequest.class, KeystoneCreateMappingResponse.class)
                .withName("KeystoneCreateMapping")
                .withUri("/v3/OS-FEDERATION/mappings/{id}")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneCreateMappingRequest::getId, (req, v) -> {
                req.setId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            KeystoneCreateMappingRequestBody.class,
            f -> f.withMarshaller(KeystoneCreateMappingRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneCreateProject = genForkeystoneCreateProject();

    private static HttpRequestDef genForkeystoneCreateProject() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, KeystoneCreateProjectRequest.class, KeystoneCreateProjectResponse.class)
                .withName("KeystoneCreateProject")
                .withUri("/v3/projects")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            KeystoneCreateProjectRequestBody.class,
            f -> f.withMarshaller(KeystoneCreateProjectRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneCreateProtocol = genForkeystoneCreateProtocol();

    private static HttpRequestDef genForkeystoneCreateProtocol() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, KeystoneCreateProtocolRequest.class, KeystoneCreateProtocolResponse.class)
                .withName("KeystoneCreateProtocol")
                .withUri("/v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("idp_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneCreateProtocolRequest::getIdpId, (req, v) -> {
                req.setIdpId(v);
            })
        );
        builder.withRequestField("protocol_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneCreateProtocolRequest::getProtocolId, (req, v) -> {
                req.setProtocolId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            KeystoneCreateProtocolRequestBody.class,
            f -> f.withMarshaller(KeystoneCreateProtocolRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneCreateScopedToken = genForkeystoneCreateScopedToken();

    private static HttpRequestDef genForkeystoneCreateScopedToken() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, KeystoneCreateScopedTokenRequest.class, KeystoneCreateScopedTokenResponse.class)
                .withName("KeystoneCreateScopedToken")
                .withUri("/v3/auth/tokens")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            KeystoneCreateScopedTokenRequestBody.class,
            f -> f.withMarshaller(KeystoneCreateScopedTokenRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        builder.withResponseField(
            "X-Subject-Token",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(
                KeystoneCreateScopedTokenResponse::getXSubjectToken,
                KeystoneCreateScopedTokenResponse::setXSubjectToken)
        );
        return builder.build();
    }

    public static final HttpRequestDef keystoneDeleteGroup = genForkeystoneDeleteGroup();

    private static HttpRequestDef genForkeystoneDeleteGroup() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, KeystoneDeleteGroupRequest.class, KeystoneDeleteGroupResponse.class)
                .withName("KeystoneDeleteGroup")
                .withUri("/v3/groups/{group_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("group_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneDeleteGroupRequest::getGroupId, (req, v) -> {
                req.setGroupId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneDeleteIdentityProvider = genForkeystoneDeleteIdentityProvider();

    private static HttpRequestDef genForkeystoneDeleteIdentityProvider() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, KeystoneDeleteIdentityProviderRequest.class, KeystoneDeleteIdentityProviderResponse.class)
                .withName("KeystoneDeleteIdentityProvider")
                .withUri("/v3/OS-FEDERATION/identity_providers/{id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneDeleteIdentityProviderRequest::getId, (req, v) -> {
                req.setId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneDeleteMapping = genForkeystoneDeleteMapping();

    private static HttpRequestDef genForkeystoneDeleteMapping() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, KeystoneDeleteMappingRequest.class, KeystoneDeleteMappingResponse.class)
                .withName("KeystoneDeleteMapping")
                .withUri("/v3/OS-FEDERATION/mappings/{id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneDeleteMappingRequest::getId, (req, v) -> {
                req.setId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneDeleteProtocol = genForkeystoneDeleteProtocol();

    private static HttpRequestDef genForkeystoneDeleteProtocol() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, KeystoneDeleteProtocolRequest.class, KeystoneDeleteProtocolResponse.class)
                .withName("KeystoneDeleteProtocol")
                .withUri("/v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("idp_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneDeleteProtocolRequest::getIdpId, (req, v) -> {
                req.setIdpId(v);
            })
        );
        builder.withRequestField("protocol_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneDeleteProtocolRequest::getProtocolId, (req, v) -> {
                req.setProtocolId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneListAllProjectPermissionsForGroup = genForkeystoneListAllProjectPermissionsForGroup();

    private static HttpRequestDef genForkeystoneListAllProjectPermissionsForGroup() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneListAllProjectPermissionsForGroupRequest.class, KeystoneListAllProjectPermissionsForGroupResponse.class)
                .withName("KeystoneListAllProjectPermissionsForGroup")
                .withUri("/v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/inherited_to_projects")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneListAllProjectPermissionsForGroupRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("group_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneListAllProjectPermissionsForGroupRequest::getGroupId, (req, v) -> {
                req.setGroupId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneListAuthDomains = genForkeystoneListAuthDomains();

    private static HttpRequestDef genForkeystoneListAuthDomains() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneListAuthDomainsRequest.class, KeystoneListAuthDomainsResponse.class)
                .withName("KeystoneListAuthDomains")
                .withUri("/v3/auth/domains")
                .withContentType("application/json");

        // requests

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneListAuthProjects = genForkeystoneListAuthProjects();

    private static HttpRequestDef genForkeystoneListAuthProjects() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneListAuthProjectsRequest.class, KeystoneListAuthProjectsResponse.class)
                .withName("KeystoneListAuthProjects")
                .withUri("/v3/auth/projects")
                .withContentType("application/json");

        // requests

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneListDomainPermissionsForGroup = genForkeystoneListDomainPermissionsForGroup();

    private static HttpRequestDef genForkeystoneListDomainPermissionsForGroup() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneListDomainPermissionsForGroupRequest.class, KeystoneListDomainPermissionsForGroupResponse.class)
                .withName("KeystoneListDomainPermissionsForGroup")
                .withUri("/v3/domains/{domain_id}/groups/{group_id}/roles")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneListDomainPermissionsForGroupRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("group_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneListDomainPermissionsForGroupRequest::getGroupId, (req, v) -> {
                req.setGroupId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneListEndpoints = genForkeystoneListEndpoints();

    private static HttpRequestDef genForkeystoneListEndpoints() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneListEndpointsRequest.class, KeystoneListEndpointsResponse.class)
                .withName("KeystoneListEndpoints")
                .withUri("/v3/endpoints")
                .withContentType("application/json");

        // requests
        builder.withRequestField("interface",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            KeystoneListEndpointsRequest.InterfaceEnum.class,
            f -> f.withMarshaller(KeystoneListEndpointsRequest::getInterface, (req, v) -> {
                req.setInterface(v);
            })
        );
        builder.withRequestField("service_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneListEndpointsRequest::getServiceId, (req, v) -> {
                req.setServiceId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneListGroups = genForkeystoneListGroups();

    private static HttpRequestDef genForkeystoneListGroups() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneListGroupsRequest.class, KeystoneListGroupsResponse.class)
                .withName("KeystoneListGroups")
                .withUri("/v3/groups")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneListGroupsRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneListGroupsRequest::getName, (req, v) -> {
                req.setName(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneListIdentityProviders = genForkeystoneListIdentityProviders();

    private static HttpRequestDef genForkeystoneListIdentityProviders() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneListIdentityProvidersRequest.class, KeystoneListIdentityProvidersResponse.class)
                .withName("KeystoneListIdentityProviders")
                .withUri("/v3/OS-FEDERATION/identity_providers")
                .withContentType("application/json");

        // requests

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneListMappings = genForkeystoneListMappings();

    private static HttpRequestDef genForkeystoneListMappings() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneListMappingsRequest.class, KeystoneListMappingsResponse.class)
                .withName("KeystoneListMappings")
                .withUri("/v3/OS-FEDERATION/mappings")
                .withContentType("application/json");

        // requests

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneListPermissions = genForkeystoneListPermissions();

    private static HttpRequestDef genForkeystoneListPermissions() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneListPermissionsRequest.class, KeystoneListPermissionsResponse.class)
                .withName("KeystoneListPermissions")
                .withUri("/v3/roles")
                .withContentType("application/json");

        // requests
        builder.withRequestField("name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneListPermissionsRequest::getName, (req, v) -> {
                req.setName(v);
            })
        );
        builder.withRequestField("domain_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneListPermissionsRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("page",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            Integer.class,
            f -> f.withMarshaller(KeystoneListPermissionsRequest::getPage, (req, v) -> {
                req.setPage(v);
            })
        );
        builder.withRequestField("per_page",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            Integer.class,
            f -> f.withMarshaller(KeystoneListPermissionsRequest::getPerPage, (req, v) -> {
                req.setPerPage(v);
            })
        );
        builder.withRequestField("permission_type",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneListPermissionsRequest::getPermissionType, (req, v) -> {
                req.setPermissionType(v);
            })
        );
        builder.withRequestField("display_name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneListPermissionsRequest::getDisplayName, (req, v) -> {
                req.setDisplayName(v);
            })
        );
        builder.withRequestField("type",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneListPermissionsRequest::getType, (req, v) -> {
                req.setType(v);
            })
        );
        builder.withRequestField("catalog",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneListPermissionsRequest::getCatalog, (req, v) -> {
                req.setCatalog(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneListProjectPermissionsForGroup = genForkeystoneListProjectPermissionsForGroup();

    private static HttpRequestDef genForkeystoneListProjectPermissionsForGroup() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneListProjectPermissionsForGroupRequest.class, KeystoneListProjectPermissionsForGroupResponse.class)
                .withName("KeystoneListProjectPermissionsForGroup")
                .withUri("/v3/projects/{project_id}/groups/{group_id}/roles")
                .withContentType("application/json");

        // requests
        builder.withRequestField("project_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneListProjectPermissionsForGroupRequest::getProjectId, (req, v) -> {
                req.setProjectId(v);
            })
        );
        builder.withRequestField("group_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneListProjectPermissionsForGroupRequest::getGroupId, (req, v) -> {
                req.setGroupId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneListProjects = genForkeystoneListProjects();

    private static HttpRequestDef genForkeystoneListProjects() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneListProjectsRequest.class, KeystoneListProjectsResponse.class)
                .withName("KeystoneListProjects")
                .withUri("/v3/projects")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneListProjectsRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneListProjectsRequest::getName, (req, v) -> {
                req.setName(v);
            })
        );
        builder.withRequestField("parent_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneListProjectsRequest::getParentId, (req, v) -> {
                req.setParentId(v);
            })
        );
        builder.withRequestField("enabled",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            Boolean.class,
            f -> f.withMarshaller(KeystoneListProjectsRequest::getEnabled, (req, v) -> {
                req.setEnabled(v);
            })
        );
        builder.withRequestField("is_domain",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            Boolean.class,
            f -> f.withMarshaller(KeystoneListProjectsRequest::getIsDomain, (req, v) -> {
                req.setIsDomain(v);
            })
        );
        builder.withRequestField("page",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            Integer.class,
            f -> f.withMarshaller(KeystoneListProjectsRequest::getPage, (req, v) -> {
                req.setPage(v);
            })
        );
        builder.withRequestField("per_page",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            Integer.class,
            f -> f.withMarshaller(KeystoneListProjectsRequest::getPerPage, (req, v) -> {
                req.setPerPage(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneListProjectsForUser = genForkeystoneListProjectsForUser();

    private static HttpRequestDef genForkeystoneListProjectsForUser() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneListProjectsForUserRequest.class, KeystoneListProjectsForUserResponse.class)
                .withName("KeystoneListProjectsForUser")
                .withUri("/v3/users/{user_id}/projects")
                .withContentType("application/json");

        // requests
        builder.withRequestField("user_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneListProjectsForUserRequest::getUserId, (req, v) -> {
                req.setUserId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneListProtocols = genForkeystoneListProtocols();

    private static HttpRequestDef genForkeystoneListProtocols() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneListProtocolsRequest.class, KeystoneListProtocolsResponse.class)
                .withName("KeystoneListProtocols")
                .withUri("/v3/OS-FEDERATION/identity_providers/{idp_id}/protocols")
                .withContentType("application/json");

        // requests
        builder.withRequestField("idp_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneListProtocolsRequest::getIdpId, (req, v) -> {
                req.setIdpId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneListRegions = genForkeystoneListRegions();

    private static HttpRequestDef genForkeystoneListRegions() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneListRegionsRequest.class, KeystoneListRegionsResponse.class)
                .withName("KeystoneListRegions")
                .withUri("/v3/regions")
                .withContentType("application/json");

        // requests

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneListServices = genForkeystoneListServices();

    private static HttpRequestDef genForkeystoneListServices() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneListServicesRequest.class, KeystoneListServicesResponse.class)
                .withName("KeystoneListServices")
                .withUri("/v3/services")
                .withContentType("application/json");

        // requests
        builder.withRequestField("type",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneListServicesRequest::getType, (req, v) -> {
                req.setType(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneListUsersForGroupByAdmin = genForkeystoneListUsersForGroupByAdmin();

    private static HttpRequestDef genForkeystoneListUsersForGroupByAdmin() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneListUsersForGroupByAdminRequest.class, KeystoneListUsersForGroupByAdminResponse.class)
                .withName("KeystoneListUsersForGroupByAdmin")
                .withUri("/v3/groups/{group_id}/users")
                .withContentType("application/json");

        // requests
        builder.withRequestField("group_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneListUsersForGroupByAdminRequest::getGroupId, (req, v) -> {
                req.setGroupId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneListVersions = genForkeystoneListVersions();

    private static HttpRequestDef genForkeystoneListVersions() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneListVersionsRequest.class, KeystoneListVersionsResponse.class)
                .withName("KeystoneListVersions")
                .withUri("/")
                .withContentType("application/json");

        // requests

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneRemoveDomainPermissionFromGroup = genForkeystoneRemoveDomainPermissionFromGroup();

    private static HttpRequestDef genForkeystoneRemoveDomainPermissionFromGroup() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, KeystoneRemoveDomainPermissionFromGroupRequest.class, KeystoneRemoveDomainPermissionFromGroupResponse.class)
                .withName("KeystoneRemoveDomainPermissionFromGroup")
                .withUri("/v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneRemoveDomainPermissionFromGroupRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("group_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneRemoveDomainPermissionFromGroupRequest::getGroupId, (req, v) -> {
                req.setGroupId(v);
            })
        );
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneRemoveDomainPermissionFromGroupRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneRemoveProjectPermissionFromGroup = genForkeystoneRemoveProjectPermissionFromGroup();

    private static HttpRequestDef genForkeystoneRemoveProjectPermissionFromGroup() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, KeystoneRemoveProjectPermissionFromGroupRequest.class, KeystoneRemoveProjectPermissionFromGroupResponse.class)
                .withName("KeystoneRemoveProjectPermissionFromGroup")
                .withUri("/v3/projects/{project_id}/groups/{group_id}/roles/{role_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("project_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneRemoveProjectPermissionFromGroupRequest::getProjectId, (req, v) -> {
                req.setProjectId(v);
            })
        );
        builder.withRequestField("group_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneRemoveProjectPermissionFromGroupRequest::getGroupId, (req, v) -> {
                req.setGroupId(v);
            })
        );
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneRemoveProjectPermissionFromGroupRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneRemoveUserFromGroup = genForkeystoneRemoveUserFromGroup();

    private static HttpRequestDef genForkeystoneRemoveUserFromGroup() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, KeystoneRemoveUserFromGroupRequest.class, KeystoneRemoveUserFromGroupResponse.class)
                .withName("KeystoneRemoveUserFromGroup")
                .withUri("/v3/groups/{group_id}/users/{user_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("group_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneRemoveUserFromGroupRequest::getGroupId, (req, v) -> {
                req.setGroupId(v);
            })
        );
        builder.withRequestField("user_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneRemoveUserFromGroupRequest::getUserId, (req, v) -> {
                req.setUserId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneShowCatalog = genForkeystoneShowCatalog();

    private static HttpRequestDef genForkeystoneShowCatalog() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneShowCatalogRequest.class, KeystoneShowCatalogResponse.class)
                .withName("KeystoneShowCatalog")
                .withUri("/v3/auth/catalog")
                .withContentType("application/json");

        // requests

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneShowEndpoint = genForkeystoneShowEndpoint();

    private static HttpRequestDef genForkeystoneShowEndpoint() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneShowEndpointRequest.class, KeystoneShowEndpointResponse.class)
                .withName("KeystoneShowEndpoint")
                .withUri("/v3/endpoints/{endpoint_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("endpoint_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneShowEndpointRequest::getEndpointId, (req, v) -> {
                req.setEndpointId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneShowGroup = genForkeystoneShowGroup();

    private static HttpRequestDef genForkeystoneShowGroup() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneShowGroupRequest.class, KeystoneShowGroupResponse.class)
                .withName("KeystoneShowGroup")
                .withUri("/v3/groups/{group_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("group_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneShowGroupRequest::getGroupId, (req, v) -> {
                req.setGroupId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneShowIdentityProvider = genForkeystoneShowIdentityProvider();

    private static HttpRequestDef genForkeystoneShowIdentityProvider() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneShowIdentityProviderRequest.class, KeystoneShowIdentityProviderResponse.class)
                .withName("KeystoneShowIdentityProvider")
                .withUri("/v3/OS-FEDERATION/identity_providers/{id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneShowIdentityProviderRequest::getId, (req, v) -> {
                req.setId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneShowMapping = genForkeystoneShowMapping();

    private static HttpRequestDef genForkeystoneShowMapping() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneShowMappingRequest.class, KeystoneShowMappingResponse.class)
                .withName("KeystoneShowMapping")
                .withUri("/v3/OS-FEDERATION/mappings/{id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneShowMappingRequest::getId, (req, v) -> {
                req.setId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneShowPermission = genForkeystoneShowPermission();

    private static HttpRequestDef genForkeystoneShowPermission() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneShowPermissionRequest.class, KeystoneShowPermissionResponse.class)
                .withName("KeystoneShowPermission")
                .withUri("/v3/roles/{role_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneShowPermissionRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneShowProject = genForkeystoneShowProject();

    private static HttpRequestDef genForkeystoneShowProject() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneShowProjectRequest.class, KeystoneShowProjectResponse.class)
                .withName("KeystoneShowProject")
                .withUri("/v3/projects/{project_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("project_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneShowProjectRequest::getProjectId, (req, v) -> {
                req.setProjectId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneShowProtocol = genForkeystoneShowProtocol();

    private static HttpRequestDef genForkeystoneShowProtocol() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneShowProtocolRequest.class, KeystoneShowProtocolResponse.class)
                .withName("KeystoneShowProtocol")
                .withUri("/v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("idp_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneShowProtocolRequest::getIdpId, (req, v) -> {
                req.setIdpId(v);
            })
        );
        builder.withRequestField("protocol_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneShowProtocolRequest::getProtocolId, (req, v) -> {
                req.setProtocolId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneShowRegion = genForkeystoneShowRegion();

    private static HttpRequestDef genForkeystoneShowRegion() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneShowRegionRequest.class, KeystoneShowRegionResponse.class)
                .withName("KeystoneShowRegion")
                .withUri("/v3/regions/{region_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("region_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneShowRegionRequest::getRegionId, (req, v) -> {
                req.setRegionId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneShowSecurityCompliance = genForkeystoneShowSecurityCompliance();

    private static HttpRequestDef genForkeystoneShowSecurityCompliance() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneShowSecurityComplianceRequest.class, KeystoneShowSecurityComplianceResponse.class)
                .withName("KeystoneShowSecurityCompliance")
                .withUri("/v3/domains/{domain_id}/config/security_compliance")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneShowSecurityComplianceRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneShowSecurityComplianceByOption = genForkeystoneShowSecurityComplianceByOption();

    private static HttpRequestDef genForkeystoneShowSecurityComplianceByOption() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneShowSecurityComplianceByOptionRequest.class, KeystoneShowSecurityComplianceByOptionResponse.class)
                .withName("KeystoneShowSecurityComplianceByOption")
                .withUri("/v3/domains/{domain_id}/config/security_compliance/{option}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneShowSecurityComplianceByOptionRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("option",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            KeystoneShowSecurityComplianceByOptionRequest.OptionEnum.class,
            f -> f.withMarshaller(KeystoneShowSecurityComplianceByOptionRequest::getOption, (req, v) -> {
                req.setOption(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneShowService = genForkeystoneShowService();

    private static HttpRequestDef genForkeystoneShowService() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneShowServiceRequest.class, KeystoneShowServiceResponse.class)
                .withName("KeystoneShowService")
                .withUri("/v3/services/{service_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("service_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneShowServiceRequest::getServiceId, (req, v) -> {
                req.setServiceId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneShowVersion = genForkeystoneShowVersion();

    private static HttpRequestDef genForkeystoneShowVersion() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneShowVersionRequest.class, KeystoneShowVersionResponse.class)
                .withName("KeystoneShowVersion")
                .withUri("/v3")
                .withContentType("application/json");

        // requests

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneUpdateGroup = genForkeystoneUpdateGroup();

    private static HttpRequestDef genForkeystoneUpdateGroup() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PATCH, KeystoneUpdateGroupRequest.class, KeystoneUpdateGroupResponse.class)
                .withName("KeystoneUpdateGroup")
                .withUri("/v3/groups/{group_id}")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("group_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneUpdateGroupRequest::getGroupId, (req, v) -> {
                req.setGroupId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            KeystoneUpdateGroupRequestBody.class,
            f -> f.withMarshaller(KeystoneUpdateGroupRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneUpdateIdentityProvider = genForkeystoneUpdateIdentityProvider();

    private static HttpRequestDef genForkeystoneUpdateIdentityProvider() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PATCH, KeystoneUpdateIdentityProviderRequest.class, KeystoneUpdateIdentityProviderResponse.class)
                .withName("KeystoneUpdateIdentityProvider")
                .withUri("/v3/OS-FEDERATION/identity_providers/{id}")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneUpdateIdentityProviderRequest::getId, (req, v) -> {
                req.setId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            KeystoneUpdateIdentityProviderRequestBody.class,
            f -> f.withMarshaller(KeystoneUpdateIdentityProviderRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneUpdateMapping = genForkeystoneUpdateMapping();

    private static HttpRequestDef genForkeystoneUpdateMapping() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PATCH, KeystoneUpdateMappingRequest.class, KeystoneUpdateMappingResponse.class)
                .withName("KeystoneUpdateMapping")
                .withUri("/v3/OS-FEDERATION/mappings/{id}")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneUpdateMappingRequest::getId, (req, v) -> {
                req.setId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            KeystoneUpdateMappingRequestBody.class,
            f -> f.withMarshaller(KeystoneUpdateMappingRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneUpdateProject = genForkeystoneUpdateProject();

    private static HttpRequestDef genForkeystoneUpdateProject() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PATCH, KeystoneUpdateProjectRequest.class, KeystoneUpdateProjectResponse.class)
                .withName("KeystoneUpdateProject")
                .withUri("/v3/projects/{project_id}")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("project_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneUpdateProjectRequest::getProjectId, (req, v) -> {
                req.setProjectId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            KeystoneUpdateProjectRequestBody.class,
            f -> f.withMarshaller(KeystoneUpdateProjectRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneUpdateProtocol = genForkeystoneUpdateProtocol();

    private static HttpRequestDef genForkeystoneUpdateProtocol() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PATCH, KeystoneUpdateProtocolRequest.class, KeystoneUpdateProtocolResponse.class)
                .withName("KeystoneUpdateProtocol")
                .withUri("/v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("idp_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneUpdateProtocolRequest::getIdpId, (req, v) -> {
                req.setIdpId(v);
            })
        );
        builder.withRequestField("protocol_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneUpdateProtocolRequest::getProtocolId, (req, v) -> {
                req.setProtocolId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            KeystoneUpdateProtocolRequestBody.class,
            f -> f.withMarshaller(KeystoneUpdateProtocolRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef listAgencies = genForlistAgencies();

    private static HttpRequestDef genForlistAgencies() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListAgenciesRequest.class, ListAgenciesResponse.class)
                .withName("ListAgencies")
                .withUri("/v3.0/OS-AGENCY/agencies")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ListAgenciesRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("trust_domain_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(ListAgenciesRequest::getTrustDomainId, (req, v) -> {
                req.setTrustDomainId(v);
            })
        );
        builder.withRequestField("name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(ListAgenciesRequest::getName, (req, v) -> {
                req.setName(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef listAllProjectsPermissionsForAgency = genForlistAllProjectsPermissionsForAgency();

    private static HttpRequestDef genForlistAllProjectsPermissionsForAgency() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListAllProjectsPermissionsForAgencyRequest.class, ListAllProjectsPermissionsForAgencyResponse.class)
                .withName("ListAllProjectsPermissionsForAgency")
                .withUri("/v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/inherited_to_projects")
                .withContentType("application/json");

        // requests
        builder.withRequestField("agency_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ListAllProjectsPermissionsForAgencyRequest::getAgencyId, (req, v) -> {
                req.setAgencyId(v);
            })
        );
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ListAllProjectsPermissionsForAgencyRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef listCustomPolicies = genForlistCustomPolicies();

    private static HttpRequestDef genForlistCustomPolicies() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListCustomPoliciesRequest.class, ListCustomPoliciesResponse.class)
                .withName("ListCustomPolicies")
                .withUri("/v3.0/OS-ROLE/roles")
                .withContentType("application/json");

        // requests
        builder.withRequestField("page",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            Integer.class,
            f -> f.withMarshaller(ListCustomPoliciesRequest::getPage, (req, v) -> {
                req.setPage(v);
            })
        );
        builder.withRequestField("per_page",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            Integer.class,
            f -> f.withMarshaller(ListCustomPoliciesRequest::getPerPage, (req, v) -> {
                req.setPerPage(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef listDomainPermissionsForAgency = genForlistDomainPermissionsForAgency();

    private static HttpRequestDef genForlistDomainPermissionsForAgency() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListDomainPermissionsForAgencyRequest.class, ListDomainPermissionsForAgencyResponse.class)
                .withName("ListDomainPermissionsForAgency")
                .withUri("/v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ListDomainPermissionsForAgencyRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("agency_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ListDomainPermissionsForAgencyRequest::getAgencyId, (req, v) -> {
                req.setAgencyId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef listProjectPermissionsForAgency = genForlistProjectPermissionsForAgency();

    private static HttpRequestDef genForlistProjectPermissionsForAgency() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListProjectPermissionsForAgencyRequest.class, ListProjectPermissionsForAgencyResponse.class)
                .withName("ListProjectPermissionsForAgency")
                .withUri("/v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles")
                .withContentType("application/json");

        // requests
        builder.withRequestField("project_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ListProjectPermissionsForAgencyRequest::getProjectId, (req, v) -> {
                req.setProjectId(v);
            })
        );
        builder.withRequestField("agency_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ListProjectPermissionsForAgencyRequest::getAgencyId, (req, v) -> {
                req.setAgencyId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef removeAllProjectsPermissionFromAgency = genForremoveAllProjectsPermissionFromAgency();

    private static HttpRequestDef genForremoveAllProjectsPermissionFromAgency() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, RemoveAllProjectsPermissionFromAgencyRequest.class, RemoveAllProjectsPermissionFromAgencyResponse.class)
                .withName("RemoveAllProjectsPermissionFromAgency")
                .withUri("/v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}/inherited_to_projects")
                .withContentType("application/json");

        // requests
        builder.withRequestField("agency_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(RemoveAllProjectsPermissionFromAgencyRequest::getAgencyId, (req, v) -> {
                req.setAgencyId(v);
            })
        );
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(RemoveAllProjectsPermissionFromAgencyRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(RemoveAllProjectsPermissionFromAgencyRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef removeDomainPermissionFromAgency = genForremoveDomainPermissionFromAgency();

    private static HttpRequestDef genForremoveDomainPermissionFromAgency() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, RemoveDomainPermissionFromAgencyRequest.class, RemoveDomainPermissionFromAgencyResponse.class)
                .withName("RemoveDomainPermissionFromAgency")
                .withUri("/v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(RemoveDomainPermissionFromAgencyRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("agency_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(RemoveDomainPermissionFromAgencyRequest::getAgencyId, (req, v) -> {
                req.setAgencyId(v);
            })
        );
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(RemoveDomainPermissionFromAgencyRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef removeProjectPermissionFromAgency = genForremoveProjectPermissionFromAgency();

    private static HttpRequestDef genForremoveProjectPermissionFromAgency() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, RemoveProjectPermissionFromAgencyRequest.class, RemoveProjectPermissionFromAgencyResponse.class)
                .withName("RemoveProjectPermissionFromAgency")
                .withUri("/v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("project_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(RemoveProjectPermissionFromAgencyRequest::getProjectId, (req, v) -> {
                req.setProjectId(v);
            })
        );
        builder.withRequestField("agency_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(RemoveProjectPermissionFromAgencyRequest::getAgencyId, (req, v) -> {
                req.setAgencyId(v);
            })
        );
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(RemoveProjectPermissionFromAgencyRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef showAgency = genForshowAgency();

    private static HttpRequestDef genForshowAgency() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowAgencyRequest.class, ShowAgencyResponse.class)
                .withName("ShowAgency")
                .withUri("/v3.0/OS-AGENCY/agencies/{agency_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("agency_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ShowAgencyRequest::getAgencyId, (req, v) -> {
                req.setAgencyId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef showCustomPolicy = genForshowCustomPolicy();

    private static HttpRequestDef genForshowCustomPolicy() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowCustomPolicyRequest.class, ShowCustomPolicyResponse.class)
                .withName("ShowCustomPolicy")
                .withUri("/v3.0/OS-ROLE/roles/{role_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ShowCustomPolicyRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef showDomainApiAclPolicy = genForshowDomainApiAclPolicy();

    private static HttpRequestDef genForshowDomainApiAclPolicy() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowDomainApiAclPolicyRequest.class, ShowDomainApiAclPolicyResponse.class)
                .withName("ShowDomainApiAclPolicy")
                .withUri("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/api-acl-policy")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ShowDomainApiAclPolicyRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef showDomainConsoleAclPolicy = genForshowDomainConsoleAclPolicy();

    private static HttpRequestDef genForshowDomainConsoleAclPolicy() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowDomainConsoleAclPolicyRequest.class, ShowDomainConsoleAclPolicyResponse.class)
                .withName("ShowDomainConsoleAclPolicy")
                .withUri("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/console-acl-policy")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ShowDomainConsoleAclPolicyRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef showDomainLoginPolicy = genForshowDomainLoginPolicy();

    private static HttpRequestDef genForshowDomainLoginPolicy() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowDomainLoginPolicyRequest.class, ShowDomainLoginPolicyResponse.class)
                .withName("ShowDomainLoginPolicy")
                .withUri("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/login-policy")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ShowDomainLoginPolicyRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef showDomainPasswordPolicy = genForshowDomainPasswordPolicy();

    private static HttpRequestDef genForshowDomainPasswordPolicy() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowDomainPasswordPolicyRequest.class, ShowDomainPasswordPolicyResponse.class)
                .withName("ShowDomainPasswordPolicy")
                .withUri("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/password-policy")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ShowDomainPasswordPolicyRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef showDomainProtectPolicy = genForshowDomainProtectPolicy();

    private static HttpRequestDef genForshowDomainProtectPolicy() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowDomainProtectPolicyRequest.class, ShowDomainProtectPolicyResponse.class)
                .withName("ShowDomainProtectPolicy")
                .withUri("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/protect-policy")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ShowDomainProtectPolicyRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef showDomainQuota = genForshowDomainQuota();

    private static HttpRequestDef genForshowDomainQuota() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowDomainQuotaRequest.class, ShowDomainQuotaResponse.class)
                .withName("ShowDomainQuota")
                .withUri("/v3.0/OS-QUOTA/domains/{domain_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ShowDomainQuotaRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("type",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            ShowDomainQuotaRequest.TypeEnum.class,
            f -> f.withMarshaller(ShowDomainQuotaRequest::getType, (req, v) -> {
                req.setType(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef showMetadata = genForshowMetadata();

    private static HttpRequestDef genForshowMetadata() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowMetadataRequest.class, ShowMetadataResponse.class)
                .withName("ShowMetadata")
                .withUri("/v3-ext/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/metadata")
                .withContentType("application/json");

        // requests
        builder.withRequestField("idp_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ShowMetadataRequest::getIdpId, (req, v) -> {
                req.setIdpId(v);
            })
        );
        builder.withRequestField("protocol_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ShowMetadataRequest::getProtocolId, (req, v) -> {
                req.setProtocolId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef showOpenIdConnectConfig = genForshowOpenIdConnectConfig();

    private static HttpRequestDef genForshowOpenIdConnectConfig() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowOpenIdConnectConfigRequest.class, ShowOpenIdConnectConfigResponse.class)
                .withName("ShowOpenIdConnectConfig")
                .withUri("/v3.0/OS-FEDERATION/identity-providers/{idp_id}/openid-connect-config")
                .withContentType("application/json");

        // requests
        builder.withRequestField("idp_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ShowOpenIdConnectConfigRequest::getIdpId, (req, v) -> {
                req.setIdpId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef showProjectDetailsAndStatus = genForshowProjectDetailsAndStatus();

    private static HttpRequestDef genForshowProjectDetailsAndStatus() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowProjectDetailsAndStatusRequest.class, ShowProjectDetailsAndStatusResponse.class)
                .withName("ShowProjectDetailsAndStatus")
                .withUri("/v3-ext/projects/{project_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("project_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ShowProjectDetailsAndStatusRequest::getProjectId, (req, v) -> {
                req.setProjectId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef showProjectQuota = genForshowProjectQuota();

    private static HttpRequestDef genForshowProjectQuota() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowProjectQuotaRequest.class, ShowProjectQuotaResponse.class)
                .withName("ShowProjectQuota")
                .withUri("/v3.0/OS-QUOTA/projects/{project_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("project_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ShowProjectQuotaRequest::getProjectId, (req, v) -> {
                req.setProjectId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef updateAgency = genForupdateAgency();

    private static HttpRequestDef genForupdateAgency() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateAgencyRequest.class, UpdateAgencyResponse.class)
                .withName("UpdateAgency")
                .withUri("/v3.0/OS-AGENCY/agencies/{agency_id}")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("agency_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(UpdateAgencyRequest::getAgencyId, (req, v) -> {
                req.setAgencyId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            UpdateAgencyRequestBody.class,
            f -> f.withMarshaller(UpdateAgencyRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef updateAgencyCustomPolicy = genForupdateAgencyCustomPolicy();

    private static HttpRequestDef genForupdateAgencyCustomPolicy() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PATCH, UpdateAgencyCustomPolicyRequest.class, UpdateAgencyCustomPolicyResponse.class)
                .withName("UpdateAgencyCustomPolicy")
                .withUri("/v3.0/OS-ROLE/roles/{role_id}")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(UpdateAgencyCustomPolicyRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            UpdateAgencyCustomPolicyRequestBody.class,
            f -> f.withMarshaller(UpdateAgencyCustomPolicyRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef updateCloudServiceCustomPolicy = genForupdateCloudServiceCustomPolicy();

    private static HttpRequestDef genForupdateCloudServiceCustomPolicy() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PATCH, UpdateCloudServiceCustomPolicyRequest.class, UpdateCloudServiceCustomPolicyResponse.class)
                .withName("UpdateCloudServiceCustomPolicy")
                .withUri("/v3.0/OS-ROLE/roles/{role_id}")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(UpdateCloudServiceCustomPolicyRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            UpdateCloudServiceCustomPolicyRequestBody.class,
            f -> f.withMarshaller(UpdateCloudServiceCustomPolicyRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef updateDomainApiAclPolicy = genForupdateDomainApiAclPolicy();

    private static HttpRequestDef genForupdateDomainApiAclPolicy() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateDomainApiAclPolicyRequest.class, UpdateDomainApiAclPolicyResponse.class)
                .withName("UpdateDomainApiAclPolicy")
                .withUri("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/api-acl-policy")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(UpdateDomainApiAclPolicyRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            UpdateDomainApiAclPolicyRequestBody.class,
            f -> f.withMarshaller(UpdateDomainApiAclPolicyRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef updateDomainConsoleAclPolicy = genForupdateDomainConsoleAclPolicy();

    private static HttpRequestDef genForupdateDomainConsoleAclPolicy() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateDomainConsoleAclPolicyRequest.class, UpdateDomainConsoleAclPolicyResponse.class)
                .withName("UpdateDomainConsoleAclPolicy")
                .withUri("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/console-acl-policy")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(UpdateDomainConsoleAclPolicyRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NULL_IGNORE,
            UpdateDomainConsoleAclPolicyRequestBody.class,
            f -> f.withMarshaller(UpdateDomainConsoleAclPolicyRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef updateDomainGroupInheritRole = genForupdateDomainGroupInheritRole();

    private static HttpRequestDef genForupdateDomainGroupInheritRole() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateDomainGroupInheritRoleRequest.class, UpdateDomainGroupInheritRoleResponse.class)
                .withName("UpdateDomainGroupInheritRole")
                .withUri("/v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(UpdateDomainGroupInheritRoleRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("group_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(UpdateDomainGroupInheritRoleRequest::getGroupId, (req, v) -> {
                req.setGroupId(v);
            })
        );
        builder.withRequestField("role_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(UpdateDomainGroupInheritRoleRequest::getRoleId, (req, v) -> {
                req.setRoleId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef updateDomainLoginPolicy = genForupdateDomainLoginPolicy();

    private static HttpRequestDef genForupdateDomainLoginPolicy() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateDomainLoginPolicyRequest.class, UpdateDomainLoginPolicyResponse.class)
                .withName("UpdateDomainLoginPolicy")
                .withUri("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/login-policy")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(UpdateDomainLoginPolicyRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            UpdateDomainLoginPolicyRequestBody.class,
            f -> f.withMarshaller(UpdateDomainLoginPolicyRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef updateDomainPasswordPolicy = genForupdateDomainPasswordPolicy();

    private static HttpRequestDef genForupdateDomainPasswordPolicy() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateDomainPasswordPolicyRequest.class, UpdateDomainPasswordPolicyResponse.class)
                .withName("UpdateDomainPasswordPolicy")
                .withUri("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/password-policy")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(UpdateDomainPasswordPolicyRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            UpdateDomainPasswordPolicyRequestBody.class,
            f -> f.withMarshaller(UpdateDomainPasswordPolicyRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef updateDomainProtectPolicy = genForupdateDomainProtectPolicy();

    private static HttpRequestDef genForupdateDomainProtectPolicy() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateDomainProtectPolicyRequest.class, UpdateDomainProtectPolicyResponse.class)
                .withName("UpdateDomainProtectPolicy")
                .withUri("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/protect-policy")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(UpdateDomainProtectPolicyRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            UpdateDomainProtectPolicyRequestBody.class,
            f -> f.withMarshaller(UpdateDomainProtectPolicyRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef updateOpenIdConnectConfig = genForupdateOpenIdConnectConfig();

    private static HttpRequestDef genForupdateOpenIdConnectConfig() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateOpenIdConnectConfigRequest.class, UpdateOpenIdConnectConfigResponse.class)
                .withName("UpdateOpenIdConnectConfig")
                .withUri("/v3.0/OS-FEDERATION/identity-providers/{idp_id}/openid-connect-config")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("idp_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(UpdateOpenIdConnectConfigRequest::getIdpId, (req, v) -> {
                req.setIdpId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            UpdateOpenIdConnectConfigRequestBody.class,
            f -> f.withMarshaller(UpdateOpenIdConnectConfigRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef updateProjectStatus = genForupdateProjectStatus();

    private static HttpRequestDef genForupdateProjectStatus() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateProjectStatusRequest.class, UpdateProjectStatusResponse.class)
                .withName("UpdateProjectStatus")
                .withUri("/v3-ext/projects/{project_id}")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("project_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(UpdateProjectStatusRequest::getProjectId, (req, v) -> {
                req.setProjectId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            UpdateProjectStatusRequestBody.class,
            f -> f.withMarshaller(UpdateProjectStatusRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef createPermanentAccessKey = genForcreatePermanentAccessKey();

    private static HttpRequestDef genForcreatePermanentAccessKey() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreatePermanentAccessKeyRequest.class, CreatePermanentAccessKeyResponse.class)
                .withName("CreatePermanentAccessKey")
                .withUri("/v3.0/OS-CREDENTIAL/credentials")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            CreatePermanentAccessKeyRequestBody.class,
            f -> f.withMarshaller(CreatePermanentAccessKeyRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef createTemporaryAccessKeyByAgency = genForcreateTemporaryAccessKeyByAgency();

    private static HttpRequestDef genForcreateTemporaryAccessKeyByAgency() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreateTemporaryAccessKeyByAgencyRequest.class, CreateTemporaryAccessKeyByAgencyResponse.class)
                .withName("CreateTemporaryAccessKeyByAgency")
                .withUri("/v3.0/OS-CREDENTIAL/securitytokens")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            CreateTemporaryAccessKeyByAgencyRequestBody.class,
            f -> f.withMarshaller(CreateTemporaryAccessKeyByAgencyRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef createTemporaryAccessKeyByToken = genForcreateTemporaryAccessKeyByToken();

    private static HttpRequestDef genForcreateTemporaryAccessKeyByToken() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreateTemporaryAccessKeyByTokenRequest.class, CreateTemporaryAccessKeyByTokenResponse.class)
                .withName("CreateTemporaryAccessKeyByToken")
                .withUri("/v3.0/OS-CREDENTIAL/securitytokens")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            CreateTemporaryAccessKeyByTokenRequestBody.class,
            f -> f.withMarshaller(CreateTemporaryAccessKeyByTokenRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef deletePermanentAccessKey = genFordeletePermanentAccessKey();

    private static HttpRequestDef genFordeletePermanentAccessKey() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, DeletePermanentAccessKeyRequest.class, DeletePermanentAccessKeyResponse.class)
                .withName("DeletePermanentAccessKey")
                .withUri("/v3.0/OS-CREDENTIAL/credentials/{access_key}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("access_key",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(DeletePermanentAccessKeyRequest::getAccessKey, (req, v) -> {
                req.setAccessKey(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef listPermanentAccessKeys = genForlistPermanentAccessKeys();

    private static HttpRequestDef genForlistPermanentAccessKeys() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListPermanentAccessKeysRequest.class, ListPermanentAccessKeysResponse.class)
                .withName("ListPermanentAccessKeys")
                .withUri("/v3.0/OS-CREDENTIAL/credentials")
                .withContentType("application/json");

        // requests
        builder.withRequestField("user_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(ListPermanentAccessKeysRequest::getUserId, (req, v) -> {
                req.setUserId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef showPermanentAccessKey = genForshowPermanentAccessKey();

    private static HttpRequestDef genForshowPermanentAccessKey() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowPermanentAccessKeyRequest.class, ShowPermanentAccessKeyResponse.class)
                .withName("ShowPermanentAccessKey")
                .withUri("/v3.0/OS-CREDENTIAL/credentials/{access_key}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("access_key",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ShowPermanentAccessKeyRequest::getAccessKey, (req, v) -> {
                req.setAccessKey(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef updatePermanentAccessKey = genForupdatePermanentAccessKey();

    private static HttpRequestDef genForupdatePermanentAccessKey() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdatePermanentAccessKeyRequest.class, UpdatePermanentAccessKeyResponse.class)
                .withName("UpdatePermanentAccessKey")
                .withUri("/v3.0/OS-CREDENTIAL/credentials/{access_key}")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("access_key",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(UpdatePermanentAccessKeyRequest::getAccessKey, (req, v) -> {
                req.setAccessKey(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            UpdatePermanentAccessKeyRequestBody.class,
            f -> f.withMarshaller(UpdatePermanentAccessKeyRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef createBindingDevice = genForcreateBindingDevice();

    private static HttpRequestDef genForcreateBindingDevice() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, CreateBindingDeviceRequest.class, CreateBindingDeviceResponse.class)
                .withName("CreateBindingDevice")
                .withUri("/v3.0/OS-MFA/mfa-devices/bind")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            BindMfaDevice.class,
            f -> f.withMarshaller(CreateBindingDeviceRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef createMfaDevice = genForcreateMfaDevice();

    private static HttpRequestDef genForcreateMfaDevice() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreateMfaDeviceRequest.class, CreateMfaDeviceResponse.class)
                .withName("CreateMfaDevice")
                .withUri("/v3.0/OS-MFA/virtual-mfa-devices")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            CreateMfaDeviceReq.class,
            f -> f.withMarshaller(CreateMfaDeviceRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef createUser = genForcreateUser();

    private static HttpRequestDef genForcreateUser() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, CreateUserRequest.class, CreateUserResponse.class)
                .withName("CreateUser")
                .withUri("/v3.0/OS-USER/users")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            CreateUserRequestBody.class,
            f -> f.withMarshaller(CreateUserRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef deleteBindingDevice = genFordeleteBindingDevice();

    private static HttpRequestDef genFordeleteBindingDevice() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, DeleteBindingDeviceRequest.class, DeleteBindingDeviceResponse.class)
                .withName("DeleteBindingDevice")
                .withUri("/v3.0/OS-MFA/mfa-devices/unbind")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            UnbindMfaDevice.class,
            f -> f.withMarshaller(DeleteBindingDeviceRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef deleteMfaDevice = genFordeleteMfaDevice();

    private static HttpRequestDef genFordeleteMfaDevice() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, DeleteMfaDeviceRequest.class, DeleteMfaDeviceResponse.class)
                .withName("DeleteMfaDevice")
                .withUri("/v3.0/OS-MFA/virtual-mfa-devices")
                .withContentType("application/json");

        // requests
        builder.withRequestField("user_id",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(DeleteMfaDeviceRequest::getUserId, (req, v) -> {
                req.setUserId(v);
            })
        );
        builder.withRequestField("serial_number",
            LocationType.Query,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(DeleteMfaDeviceRequest::getSerialNumber, (req, v) -> {
                req.setSerialNumber(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneCreateUser = genForkeystoneCreateUser();

    private static HttpRequestDef genForkeystoneCreateUser() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, KeystoneCreateUserRequest.class, KeystoneCreateUserResponse.class)
                .withName("KeystoneCreateUser")
                .withUri("/v3/users")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            KeystoneCreateUserRequestBody.class,
            f -> f.withMarshaller(KeystoneCreateUserRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneDeleteUser = genForkeystoneDeleteUser();

    private static HttpRequestDef genForkeystoneDeleteUser() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.DELETE, KeystoneDeleteUserRequest.class, KeystoneDeleteUserResponse.class)
                .withName("KeystoneDeleteUser")
                .withUri("/v3/users/{user_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("user_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneDeleteUserRequest::getUserId, (req, v) -> {
                req.setUserId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneListGroupsForUser = genForkeystoneListGroupsForUser();

    private static HttpRequestDef genForkeystoneListGroupsForUser() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneListGroupsForUserRequest.class, KeystoneListGroupsForUserResponse.class)
                .withName("KeystoneListGroupsForUser")
                .withUri("/v3/users/{user_id}/groups")
                .withContentType("application/json");

        // requests
        builder.withRequestField("user_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneListGroupsForUserRequest::getUserId, (req, v) -> {
                req.setUserId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneListUsers = genForkeystoneListUsers();

    private static HttpRequestDef genForkeystoneListUsers() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneListUsersRequest.class, KeystoneListUsersResponse.class)
                .withName("KeystoneListUsers")
                .withUri("/v3/users")
                .withContentType("application/json");

        // requests
        builder.withRequestField("domain_id",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneListUsersRequest::getDomainId, (req, v) -> {
                req.setDomainId(v);
            })
        );
        builder.withRequestField("enabled",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            Boolean.class,
            f -> f.withMarshaller(KeystoneListUsersRequest::getEnabled, (req, v) -> {
                req.setEnabled(v);
            })
        );
        builder.withRequestField("name",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneListUsersRequest::getName, (req, v) -> {
                req.setName(v);
            })
        );
        builder.withRequestField("password_expires_at",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneListUsersRequest::getPasswordExpiresAt, (req, v) -> {
                req.setPasswordExpiresAt(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneShowUser = genForkeystoneShowUser();

    private static HttpRequestDef genForkeystoneShowUser() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneShowUserRequest.class, KeystoneShowUserResponse.class)
                .withName("KeystoneShowUser")
                .withUri("/v3/users/{user_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("user_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneShowUserRequest::getUserId, (req, v) -> {
                req.setUserId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneUpdateUserByAdmin = genForkeystoneUpdateUserByAdmin();

    private static HttpRequestDef genForkeystoneUpdateUserByAdmin() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PATCH, KeystoneUpdateUserByAdminRequest.class, KeystoneUpdateUserByAdminResponse.class)
                .withName("KeystoneUpdateUserByAdmin")
                .withUri("/v3/users/{user_id}")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("user_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneUpdateUserByAdminRequest::getUserId, (req, v) -> {
                req.setUserId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            KeystoneUpdateUserByAdminRequestBody.class,
            f -> f.withMarshaller(KeystoneUpdateUserByAdminRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneUpdateUserPassword = genForkeystoneUpdateUserPassword();

    private static HttpRequestDef genForkeystoneUpdateUserPassword() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, KeystoneUpdateUserPasswordRequest.class, KeystoneUpdateUserPasswordResponse.class)
                .withName("KeystoneUpdateUserPassword")
                .withUri("/v3/users/{user_id}/password")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("user_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneUpdateUserPasswordRequest::getUserId, (req, v) -> {
                req.setUserId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            KeystoneUpdateUserPasswordRequestBody.class,
            f -> f.withMarshaller(KeystoneUpdateUserPasswordRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef listUserLoginProtects = genForlistUserLoginProtects();

    private static HttpRequestDef genForlistUserLoginProtects() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListUserLoginProtectsRequest.class, ListUserLoginProtectsResponse.class)
                .withName("ListUserLoginProtects")
                .withUri("/v3.0/OS-USER/login-protects")
                .withContentType("application/json");

        // requests

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef listUserMfaDevices = genForlistUserMfaDevices();

    private static HttpRequestDef genForlistUserMfaDevices() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ListUserMfaDevicesRequest.class, ListUserMfaDevicesResponse.class)
                .withName("ListUserMfaDevices")
                .withUri("/v3.0/OS-MFA/virtual-mfa-devices")
                .withContentType("application/json");

        // requests

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef showUser = genForshowUser();

    private static HttpRequestDef genForshowUser() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowUserRequest.class, ShowUserResponse.class)
                .withName("ShowUser")
                .withUri("/v3.0/OS-USER/users/{user_id}")
                .withContentType("application/json");

        // requests
        builder.withRequestField("user_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ShowUserRequest::getUserId, (req, v) -> {
                req.setUserId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef showUserLoginProtect = genForshowUserLoginProtect();

    private static HttpRequestDef genForshowUserLoginProtect() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowUserLoginProtectRequest.class, ShowUserLoginProtectResponse.class)
                .withName("ShowUserLoginProtect")
                .withUri("/v3.0/OS-USER/users/{user_id}/login-protect")
                .withContentType("application/json");

        // requests
        builder.withRequestField("user_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ShowUserLoginProtectRequest::getUserId, (req, v) -> {
                req.setUserId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef showUserMfaDevice = genForshowUserMfaDevice();

    private static HttpRequestDef genForshowUserMfaDevice() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, ShowUserMfaDeviceRequest.class, ShowUserMfaDeviceResponse.class)
                .withName("ShowUserMfaDevice")
                .withUri("/v3.0/OS-MFA/users/{user_id}/virtual-mfa-device")
                .withContentType("application/json");

        // requests
        builder.withRequestField("user_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(ShowUserMfaDeviceRequest::getUserId, (req, v) -> {
                req.setUserId(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef updateLoginProtect = genForupdateLoginProtect();

    private static HttpRequestDef genForupdateLoginProtect() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateLoginProtectRequest.class, UpdateLoginProtectResponse.class)
                .withName("UpdateLoginProtect")
                .withUri("/v3.0/OS-USER/users/{user_id}/login-protect")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("user_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(UpdateLoginProtectRequest::getUserId, (req, v) -> {
                req.setUserId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            UpdateLoginProjectReq.class,
            f -> f.withMarshaller(UpdateLoginProtectRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef updateUser = genForupdateUser();

    private static HttpRequestDef genForupdateUser() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateUserRequest.class, UpdateUserResponse.class)
                .withName("UpdateUser")
                .withUri("/v3.0/OS-USER/users/{user_id}")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("user_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(UpdateUserRequest::getUserId, (req, v) -> {
                req.setUserId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            UpdateUserRequestBody.class,
            f -> f.withMarshaller(UpdateUserRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef updateUserInformation = genForupdateUserInformation();

    private static HttpRequestDef genForupdateUserInformation() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.PUT, UpdateUserInformationRequest.class, UpdateUserInformationResponse.class)
                .withName("UpdateUserInformation")
                .withUri("/v3.0/OS-USER/users/{user_id}/info")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("user_id",
            LocationType.Path,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(UpdateUserInformationRequest::getUserId, (req, v) -> {
                req.setUserId(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            UpdateUserInformationRequestBody.class,
            f -> f.withMarshaller(UpdateUserInformationRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        return builder.build();
    }

    public static final HttpRequestDef keystoneCreateAgencyToken = genForkeystoneCreateAgencyToken();

    private static HttpRequestDef genForkeystoneCreateAgencyToken() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, KeystoneCreateAgencyTokenRequest.class, KeystoneCreateAgencyTokenResponse.class)
                .withName("KeystoneCreateAgencyToken")
                .withUri("/v3/auth/tokens")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("nocatalog",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneCreateAgencyTokenRequest::getNocatalog, (req, v) -> {
                req.setNocatalog(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            KeystoneCreateAgencyTokenRequestBody.class,
            f -> f.withMarshaller(KeystoneCreateAgencyTokenRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        builder.withResponseField(
            "X-Subject-Token",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(
                KeystoneCreateAgencyTokenResponse::getXSubjectToken,
                KeystoneCreateAgencyTokenResponse::setXSubjectToken)
        );
        return builder.build();
    }

    public static final HttpRequestDef keystoneCreateUserTokenByPassword = genForkeystoneCreateUserTokenByPassword();

    private static HttpRequestDef genForkeystoneCreateUserTokenByPassword() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, KeystoneCreateUserTokenByPasswordRequest.class, KeystoneCreateUserTokenByPasswordResponse.class)
                .withName("KeystoneCreateUserTokenByPassword")
                .withUri("/v3/auth/tokens")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("nocatalog",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneCreateUserTokenByPasswordRequest::getNocatalog, (req, v) -> {
                req.setNocatalog(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            KeystoneCreateUserTokenByPasswordRequestBody.class,
            f -> f.withMarshaller(KeystoneCreateUserTokenByPasswordRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        builder.withResponseField(
            "X-Subject-Token",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(
                KeystoneCreateUserTokenByPasswordResponse::getXSubjectToken,
                KeystoneCreateUserTokenByPasswordResponse::setXSubjectToken)
        );
        return builder.build();
    }

    public static final HttpRequestDef keystoneCreateUserTokenByPasswordAndMfa = genForkeystoneCreateUserTokenByPasswordAndMfa();

    private static HttpRequestDef genForkeystoneCreateUserTokenByPasswordAndMfa() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.POST, KeystoneCreateUserTokenByPasswordAndMfaRequest.class, KeystoneCreateUserTokenByPasswordAndMfaResponse.class)
                .withName("KeystoneCreateUserTokenByPasswordAndMfa")
                .withUri("/v3/auth/tokens")
                .withContentType("application/json;charset=UTF-8");

        // requests
        builder.withRequestField("nocatalog",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneCreateUserTokenByPasswordAndMfaRequest::getNocatalog, (req, v) -> {
                req.setNocatalog(v);
            })
        );
        builder.withRequestField("body",
            LocationType.Body,
            FieldExistence.NON_NULL_NON_EMPTY,
            KeystoneCreateUserTokenByPasswordAndMfaRequestBody.class,
            f -> f.withMarshaller(KeystoneCreateUserTokenByPasswordAndMfaRequest::getBody, (req, v) -> {
                req.setBody(v);
            })
        );

        // response
        


        builder.withResponseField(
            "X-Subject-Token",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(
                KeystoneCreateUserTokenByPasswordAndMfaResponse::getXSubjectToken,
                KeystoneCreateUserTokenByPasswordAndMfaResponse::setXSubjectToken)
        );
        return builder.build();
    }

    public static final HttpRequestDef keystoneValidateToken = genForkeystoneValidateToken();

    private static HttpRequestDef genForkeystoneValidateToken() {
        // basic
        HttpRequestDef.Builder builder =
            HttpRequestDef.builder(HttpMethod.GET, KeystoneValidateTokenRequest.class, KeystoneValidateTokenResponse.class)
                .withName("KeystoneValidateToken")
                .withUri("/v3/auth/tokens")
                .withContentType("application/json");

        // requests
        builder.withRequestField("nocatalog",
            LocationType.Query,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(KeystoneValidateTokenRequest::getNocatalog, (req, v) -> {
                req.setNocatalog(v);
            })
        );
        builder.withRequestField("X-Subject-Token",
            LocationType.Header,
            FieldExistence.NON_NULL_NON_EMPTY,
            String.class,
            f -> f.withMarshaller(KeystoneValidateTokenRequest::getXSubjectToken, (req, v) -> {
                req.setXSubjectToken(v);
            })
        );

        // response
        


        builder.withResponseField(
            "X-Subject-Token",
            LocationType.Header,
            FieldExistence.NULL_IGNORE,
            String.class,
            f -> f.withMarshaller(
                KeystoneValidateTokenResponse::getXSubjectToken,
                KeystoneValidateTokenResponse::setXSubjectToken)
        );
        return builder.build();
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy