com.amazonaws.services.cloudfront.model

## Class GeoRestriction

- java.lang.Object
- - com.amazonaws.services.cloudfront.model.GeoRestriction

All Implemented Interfaces:
  Serializable, Cloneable

    public class GeoRestriction
    extends Object
    implements Serializable, Cloneable

A complex type that controls the countries in which your content is distributed. CloudFront determines the location of your users using `MaxMind` GeoIP databases.

See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`GeoRestriction()` Default constructor for GeoRestriction object.
`GeoRestriction(GeoRestrictionType restrictionType)` Constructs a new GeoRestriction object.
`GeoRestriction(String restrictionType)` Constructs a new GeoRestriction object.

### Method Summary

All Methods Instance Methods Concrete Methods
`GeoRestriction` `clone()`
`boolean` `equals(Object obj)`
`List<String>` `getItems()` A complex type that contains a `Location` element for each country in which you want CloudFront either to distribute your content (`whitelist`) or not distribute your content (`blacklist`).
`Integer` `getQuantity()` When geo restriction is `enabled`, this is the number of countries in your `whitelist` or `blacklist`.
`String` `getRestrictionType()` The method that you want to use to restrict distribution of your content by country:
`int` `hashCode()`
`void` `setItems(Collection<String> items)` A complex type that contains a `Location` element for each country in which you want CloudFront either to distribute your content (`whitelist`) or not distribute your content (`blacklist`).
`void` `setQuantity(Integer quantity)` When geo restriction is `enabled`, this is the number of countries in your `whitelist` or `blacklist`.
`void` `setRestrictionType(GeoRestrictionType restrictionType)` The method that you want to use to restrict distribution of your content by country:
`void` `setRestrictionType(String restrictionType)` The method that you want to use to restrict distribution of your content by country:
`String` `toString()` Returns a string representation of this object; useful for testing and debugging.
`GeoRestriction` `withItems(Collection<String> items)` A complex type that contains a `Location` element for each country in which you want CloudFront either to distribute your content (`whitelist`) or not distribute your content (`blacklist`).
`GeoRestriction` `withItems(String... items)` A complex type that contains a `Location` element for each country in which you want CloudFront either to distribute your content (`whitelist`) or not distribute your content (`blacklist`).
`GeoRestriction` `withQuantity(Integer quantity)` When geo restriction is `enabled`, this is the number of countries in your `whitelist` or `blacklist`.
`GeoRestriction` `withRestrictionType(GeoRestrictionType restrictionType)` The method that you want to use to restrict distribution of your content by country:
`GeoRestriction` `withRestrictionType(String restrictionType)` The method that you want to use to restrict distribution of your content by country:

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### GeoRestriction

    public GeoRestriction()

Default constructor for GeoRestriction object. Callers should use the setter or fluent setter (with...) methods to initialize the object after creating it.

#### GeoRestriction

    public GeoRestriction(String restrictionType)

Constructs a new GeoRestriction object. Callers should use the setter or fluent setter (with...) methods to initialize any additional object members.

Parameters:
  `restrictionType` - The method that you want to use to restrict distribution of your content by country:

  - `none`: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

  - `blacklist`: The `Location` elements specify the countries in which you do not want CloudFront to distribute your content.

  - `whitelist`: The `Location` elements specify the countries in which you want CloudFront to distribute your content.

#### GeoRestriction

    public GeoRestriction(GeoRestrictionType restrictionType)

Constructs a new GeoRestriction object. Callers should use the setter or fluent setter (with...) methods to initialize any additional object members.

Parameters:
  `restrictionType` - The method that you want to use to restrict distribution of your content by country:

  - `none`: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

  - `blacklist`: The `Location` elements specify the countries in which you do not want CloudFront to distribute your content.

  - `whitelist`: The `Location` elements specify the countries in which you want CloudFront to distribute your content.

### Method Detail

#### setRestrictionType

    public void setRestrictionType(String restrictionType)

The method that you want to use to restrict distribution of your content by country:

- `none`: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

- `blacklist`: The `Location` elements specify the countries in which you do not want CloudFront to distribute your content.

- `whitelist`: The `Location` elements specify the countries in which you want CloudFront to distribute your content.

Parameters:
  `restrictionType` - The method that you want to use to restrict distribution of your content by country:

  - `none`: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

  - `blacklist`: The `Location` elements specify the countries in which you do not want CloudFront to distribute your content.

  - `whitelist`: The `Location` elements specify the countries in which you want CloudFront to distribute your content.

See Also:
  `GeoRestrictionType`

#### getRestrictionType

    public String getRestrictionType()

The method that you want to use to restrict distribution of your content by country:

- `none`: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

- `blacklist`: The `Location` elements specify the countries in which you do not want CloudFront to distribute your content.

- `whitelist`: The `Location` elements specify the countries in which you want CloudFront to distribute your content.

Returns:
  The method that you want to use to restrict distribution of your content by country:

  - `none`: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

  - `blacklist`: The `Location` elements specify the countries in which you do not want CloudFront to distribute your content.

  - `whitelist`: The `Location` elements specify the countries in which you want CloudFront to distribute your content.

See Also:
  `GeoRestrictionType`

#### withRestrictionType

    public GeoRestriction withRestrictionType(String restrictionType)

The method that you want to use to restrict distribution of your content by country:

- `none`: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

- `blacklist`: The `Location` elements specify the countries in which you do not want CloudFront to distribute your content.

- `whitelist`: The `Location` elements specify the countries in which you want CloudFront to distribute your content.

Parameters:
  `restrictionType` - The method that you want to use to restrict distribution of your content by country:

  - `none`: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

  - `blacklist`: The `Location` elements specify the countries in which you do not want CloudFront to distribute your content.

  - `whitelist`: The `Location` elements specify the countries in which you want CloudFront to distribute your content.

Returns:
  Returns a reference to this object so that method calls can be chained together.
See Also:
  `GeoRestrictionType`

#### setRestrictionType

    public void setRestrictionType(GeoRestrictionType restrictionType)

The method that you want to use to restrict distribution of your content by country:

- `none`: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

- `blacklist`: The `Location` elements specify the countries in which you do not want CloudFront to distribute your content.

- `whitelist`: The `Location` elements specify the countries in which you want CloudFront to distribute your content.

Parameters:
  `restrictionType` - The method that you want to use to restrict distribution of your content by country:

  - `none`: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

  - `blacklist`: The `Location` elements specify the countries in which you do not want CloudFront to distribute your content.

  - `whitelist`: The `Location` elements specify the countries in which you want CloudFront to distribute your content.

See Also:
  `GeoRestrictionType`

#### withRestrictionType

    public GeoRestriction withRestrictionType(GeoRestrictionType restrictionType)

The method that you want to use to restrict distribution of your content by country:

- `none`: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

- `blacklist`: The `Location` elements specify the countries in which you do not want CloudFront to distribute your content.

- `whitelist`: The `Location` elements specify the countries in which you want CloudFront to distribute your content.

Parameters:
  `restrictionType` - The method that you want to use to restrict distribution of your content by country:

  - `none`: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

  - `blacklist`: The `Location` elements specify the countries in which you do not want CloudFront to distribute your content.

  - `whitelist`: The `Location` elements specify the countries in which you want CloudFront to distribute your content.

Returns:
  Returns a reference to this object so that method calls can be chained together.
See Also:
  `GeoRestrictionType`

#### setQuantity

    public void setQuantity(Integer quantity)

When geo restriction is `enabled`, this is the number of countries in your `whitelist` or `blacklist`. Otherwise, when it is not enabled, `Quantity` is `0`, and you can omit `Items`.

Parameters:
  `quantity` - When geo restriction is `enabled`, this is the number of countries in your `whitelist` or `blacklist`. Otherwise, when it is not enabled, `Quantity` is `0`, and you can omit `Items`.

#### getQuantity

    public Integer getQuantity()

When geo restriction is `enabled`, this is the number of countries in your `whitelist` or `blacklist`. Otherwise, when it is not enabled, `Quantity` is `0`, and you can omit `Items`.

Returns:
  When geo restriction is `enabled`, this is the number of countries in your `whitelist` or `blacklist`. Otherwise, when it is not enabled, `Quantity` is `0`, and you can omit `Items`.

#### withQuantity

    public GeoRestriction withQuantity(Integer quantity)

When geo restriction is `enabled`, this is the number of countries in your `whitelist` or `blacklist`. Otherwise, when it is not enabled, `Quantity` is `0`, and you can omit `Items`.

Parameters:
  `quantity` - When geo restriction is `enabled`, this is the number of countries in your `whitelist` or `blacklist`. Otherwise, when it is not enabled, `Quantity` is `0`, and you can omit `Items`.
Returns:
  Returns a reference to this object so that method calls can be chained together.

#### getItems

    public List<String> getItems()

A complex type that contains a `Location` element for each country in which you want CloudFront either to distribute your content (`whitelist`) or not distribute your content (`blacklist`).

The `Location` element is a two-letter, uppercase country code for a country that you want to include in your `blacklist` or `whitelist`. Include one `Location` element for each country.

CloudFront and `MaxMind` both use `ISO 3166` country codes. For the current list of countries and the corresponding codes, see `ISO 3166-1-alpha-2` code on the International Organization for Standardization website. You can also refer to the country list in the CloudFront console, which includes both country names and codes.

Returns:
  A complex type that contains a `Location` element for each country in which you want CloudFront either to distribute your content (`whitelist`) or not distribute your content ( `blacklist`).

  The `Location` element is a two-letter, uppercase country code for a country that you want to include in your `blacklist` or `whitelist`. Include one `Location` element for each country.

  CloudFront and `MaxMind` both use `ISO 3166` country codes. For the current list of countries and the corresponding codes, see `ISO 3166-1-alpha-2` code on the International Organization for Standardization website. You can also refer to the country list in the CloudFront console, which includes both country names and codes.

#### setItems

    public void setItems(Collection<String> items)

A complex type that contains a `Location` element for each country in which you want CloudFront either to distribute your content (`whitelist`) or not distribute your content (`blacklist`).

The `Location` element is a two-letter, uppercase country code for a country that you want to include in your `blacklist` or `whitelist`. Include one `Location` element for each country.

CloudFront and `MaxMind` both use `ISO 3166` country codes. For the current list of countries and the corresponding codes, see `ISO 3166-1-alpha-2` code on the International Organization for Standardization website. You can also refer to the country list in the CloudFront console, which includes both country names and codes.

Parameters:
  `items` - A complex type that contains a `Location` element for each country in which you want CloudFront either to distribute your content (`whitelist`) or not distribute your content ( `blacklist`).

  The `Location` element is a two-letter, uppercase country code for a country that you want to include in your `blacklist` or `whitelist`. Include one `Location` element for each country.

  CloudFront and `MaxMind` both use `ISO 3166` country codes. For the current list of countries and the corresponding codes, see `ISO 3166-1-alpha-2` code on the International Organization for Standardization website. You can also refer to the country list in the CloudFront console, which includes both country names and codes.

#### withItems

    public GeoRestriction withItems(String... items)

A complex type that contains a `Location` element for each country in which you want CloudFront either to distribute your content (`whitelist`) or not distribute your content (`blacklist`).

The `Location` element is a two-letter, uppercase country code for a country that you want to include in your `blacklist` or `whitelist`. Include one `Location` element for each country.

CloudFront and `MaxMind` both use `ISO 3166` country codes. For the current list of countries and the corresponding codes, see `ISO 3166-1-alpha-2` code on the International Organization for Standardization website. You can also refer to the country list in the CloudFront console, which includes both country names and codes.

NOTE: This method appends the values to the existing list (if any). Use `setItems(java.util.Collection)` or `withItems(java.util.Collection)` if you want to override the existing values.

Parameters:
  `items` - A complex type that contains a `Location` element for each country in which you want CloudFront either to distribute your content (`whitelist`) or not distribute your content ( `blacklist`).

  The `Location` element is a two-letter, uppercase country code for a country that you want to include in your `blacklist` or `whitelist`. Include one `Location` element for each country.

  CloudFront and `MaxMind` both use `ISO 3166` country codes. For the current list of countries and the corresponding codes, see `ISO 3166-1-alpha-2` code on the International Organization for Standardization website. You can also refer to the country list in the CloudFront console, which includes both country names and codes.

Returns:
  Returns a reference to this object so that method calls can be chained together.

#### withItems

    public GeoRestriction withItems(Collection<String> items)

A complex type that contains a `Location` element for each country in which you want CloudFront either to distribute your content (`whitelist`) or not distribute your content (`blacklist`).

The `Location` element is a two-letter, uppercase country code for a country that you want to include in your `blacklist` or `whitelist`. Include one `Location` element for each country.

CloudFront and `MaxMind` both use `ISO 3166` country codes. For the current list of countries and the corresponding codes, see `ISO 3166-1-alpha-2` code on the International Organization for Standardization website. You can also refer to the country list in the CloudFront console, which includes both country names and codes.

Parameters:
  `items` - A complex type that contains a `Location` element for each country in which you want CloudFront either to distribute your content (`whitelist`) or not distribute your content ( `blacklist`).

  The `Location` element is a two-letter, uppercase country code for a country that you want to include in your `blacklist` or `whitelist`. Include one `Location` element for each country.

  CloudFront and `MaxMind` both use `ISO 3166` country codes. For the current list of countries and the corresponding codes, see `ISO 3166-1-alpha-2` code on the International Organization for Standardization website. You can also refer to the country list in the CloudFront console, which includes both country names and codes.

Returns:
  Returns a reference to this object so that method calls can be chained together.

#### toString

    public String toString()

Returns a string representation of this object; useful for testing and debugging.

Overrides:
  `toString` in class `Object`
Returns:
  A string representation of this object.
See Also:
  `Object.toString()`

#### equals

    public boolean equals(Object obj)

Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### clone

    public GeoRestriction clone()

Overrides:
  `clone` in class `Object`