@SdkInternalApi
    final DeleteOrganizationConfigRuleResult executeDeleteOrganizationConfigRule(DeleteOrganizationConfigRuleRequest deleteOrganizationConfigRuleRequest) {

        ExecutionContext executionContext = createExecutionContext(deleteOrganizationConfigRuleRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<DeleteOrganizationConfigRuleRequest> request = null;
        Response<DeleteOrganizationConfigRuleResult> response = null;

        try {
            awsRequestMetrics.startEvent(Field.RequestMarshallTime);
            try {
                request = new DeleteOrganizationConfigRuleRequestProtocolMarshaller(protocolFactory).marshall(super
                        .beforeMarshalling(deleteOrganizationConfigRuleRequest));
                // Binds the request metrics to the current request.
                request.setAWSRequestMetrics(awsRequestMetrics);
                request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
                request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
                request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
                request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Config Service");
                request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteOrganizationConfigRule");
                request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);

            } finally {
                awsRequestMetrics.endEvent(Field.RequestMarshallTime);
            }

            HttpResponseHandler<AmazonWebServiceResponse<DeleteOrganizationConfigRuleResult>> responseHandler = protocolFactory.createResponseHandler(
                    new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
                    new DeleteOrganizationConfigRuleResultJsonUnmarshaller());
            response = invoke(request, responseHandler, executionContext);

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
Deletes the specified organization Config rule and all of its evaluation results from all member accounts in that
organization.
</p>
<p>
Only a management account and a delegated administrator account can delete an organization Config rule. When
calling this API with a delegated administrator, you must ensure Organizations
<code>ListDelegatedAdministrator</code> permissions are added.
</p>
<p>
Config sets the state of a rule to DELETE_IN_PROGRESS until the deletion is complete. You cannot update a rule
while it is in this state.
</p>

@param deleteOrganizationConfigRuleRequest
@return Result of the DeleteOrganizationConfigRule operation returned by the service.
@throws NoSuchOrganizationConfigRuleException
        The Config rule in the request is not valid. Verify that the rule is an organization Config Process Check
        rule, that the rule name is correct, and that valid Amazon Resouce Names (ARNs) are used before trying
        again.
@throws ResourceInUseException
        You see this exception in the following cases: </p>
        <ul>
        <li>
        <p>
        For DeleteConfigRule, Config is deleting this rule. Try your request again later.
        </p>
        </li>
        <li>
        <p>
        For DeleteConfigRule, the rule is deleting your evaluation results. Try your request again later.
        </p>
        </li>
        <li>
        <p>
        For DeleteConfigRule, a remediation action is associated with the rule and Config cannot delete this
        rule. Delete the remediation action associated with the rule before deleting the rule and try your
        request again later.
        </p>
        </li>
        <li>
        <p>
        For PutConfigOrganizationRule, organization Config rule deletion is in progress. Try your request again
        later.
        </p>
        </li>
        <li>
        <p>
        For DeleteOrganizationConfigRule, organization Config rule creation is in progress. Try your request
        again later.
        </p>
        </li>
        <li>
        <p>
        For PutConformancePack and PutOrganizationConformancePack, a conformance pack creation, update, and
        deletion is in progress. Try your request again later.
        </p>
        </li>
        <li>
        <p>
        For DeleteConformancePack, a conformance pack creation, update, and deletion is in progress. Try your
        request again later.
        </p>
        </li>
@throws OrganizationAccessDeniedException
        For <code>PutConfigurationAggregator</code> API, you can see this exception for the following
        reasons:</p>
        <ul>
        <li>
        <p>
        No permission to call <code>EnableAWSServiceAccess</code> API
        </p>
        </li>
        <li>
        <p>
        The configuration aggregator cannot be updated because your Amazon Web Services Organization management
        account or the delegated administrator role changed. Delete this aggregator and create a new one with the
        current Amazon Web Services Organization.
        </p>
        </li>
        <li>
        <p>
        The configuration aggregator is associated with a previous Amazon Web Services Organization and Config
        cannot aggregate data with current Amazon Web Services Organization. Delete this aggregator and create a
        new one with the current Amazon Web Services Organization.
        </p>
        </li>
        <li>
        <p>
        You are not a registered delegated administrator for Config with permissions to call
        <code>ListDelegatedAdministrators</code> API. Ensure that the management account registers delagated
        administrator for Config service principle name before the delegated administrator creates an aggregator.
        </p>
        </li>
        </ul>
        <p>
        For all <code>OrganizationConfigRule</code> and <code>OrganizationConformancePack</code> APIs, Config
        throws an exception if APIs are called from member accounts. All APIs must be called from organization
        management account.
@sample AmazonConfig.DeleteOrganizationConfigRule
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteOrganizationConfigRule"
     target="_top">AWS API Documentation</a>
aws-java-sdk-config/src/main/java/com/amazonaws/services/config/AmazonConfigClient.java