code: @Override
      public CacheSecurityGroup createCacheSecurityGroup(CreateCacheSecurityGroupRequest request) {
          request = beforeClientExecution(request);
          return executeCreateCacheSecurityGroup(request);
      }
docs: <p>
  Creates a new cache security group. Use a cache security group to control access to one or more clusters.
  </p>
  <p>
  Cache security groups are only used when you are creating a cluster outside of an Amazon Virtual Private Cloud
  (Amazon VPC). If you are creating a cluster inside of a VPC, use a cache subnet group instead. For more
  information, see <a
  href="http://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheSubnetGroup.html"
  >CreateCacheSubnetGroup</a>.
  </p>
  
  @param createCacheSecurityGroupRequest
  Represents the input of a <code>CreateCacheSecurityGroup</code> operation.
  @return Result of the CreateCacheSecurityGroup operation returned by the service.
  @throws CacheSecurityGroupAlreadyExistsException
  A cache security group with the specified name already exists.
  @throws CacheSecurityGroupQuotaExceededException
  The request cannot be processed because it would exceed the allowed number of cache security groups.
  @throws InvalidParameterValueException
  The value for a parameter is invalid.
  @throws InvalidParameterCombinationException
  Two or more incompatible parameters were specified.
  @sample AmazonElastiCache.CreateCacheSecurityGroup
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSecurityGroup"
  target="_top">AWS API Documentation</a>