Skip to main content

AwsOpenSearch

Struct AwsOpenSearch 

Source
pub struct AwsOpenSearch {
    pub id: String,
    pub collection_type: AwsOpenSearchCollectionType,
    pub capacity: Option<AwsOpenSearchCapacity>,
}
Expand description

An Amazon OpenSearch Serverless collection (next generation).

§Experimental namespace

This is the first resource under the experimental/ resource-type namespace. Experimental resources are provider-specific (they do not abstract over clouds), may change or be promoted to a portable resource in a breaking way, and are only registered for the platforms they support. AwsOpenSearch registers an AWS CloudFormation emitter only; deploying it to any other platform fails with a typed ImportRegistrationMissing error at generation time.

§What gets provisioned

The AWS emitter provisions next-generation OpenSearch Serverless: a collection group (Generation: NEXTGEN, compute/storage decoupled) plus a collection inside it, an AWS-owned-key encryption configuration, a public network policy, and a data-access policy for service-account roles granted experimental/aws-opensearch/data-access. Collection groups scale to zero by default; configure a non-zero minimum capacity when the workload requires predictable interactive latency. The collection endpoint is public but every request must be SigV4-signed and pass both IAM (aoss:APIAccessAll) and the data-access policy.

§Naming

The physical collection (and collection group) name is {id}-{stack-suffix} and must satisfy the AOSS name grammar, so id must match [a-z][a-z0-9-]* and be at most 23 characters. The emitter rejects ids that don’t fit.

§Runtime access

Workers reach the collection over HTTPS with SigV4. The SigV4 signing service name for OpenSearch Serverless is aoss (not es); the runtime binding payload carries "service": "aoss" so clients sign correctly. Requests with a body must also send an x-amz-content-sha256 header (the AOSS gateway rejects body-carrying requests without it with an empty 403); official OpenSearch clients with an aoss signer handle this automatically.

Fields§

§id: String

Identifier for the collection. Becomes part of the physical collection name, so it must match [a-z][a-z0-9-]* and be at most 23 characters.

§collection_type: AwsOpenSearchCollectionType

Workload type of the collection. Immutable once the resource exists (AWS only allows the type at collection creation). Default Search.

§capacity: Option<AwsOpenSearchCapacity>

Optional indexing and search OCU limits for the collection group.

When omitted, AWS uses zero minimum capacity for both components, so an idle next-generation collection can scale to zero.

Implementations§

Source§

impl AwsOpenSearch

Source

pub fn new(id: String) -> AwsOpenSearchBuilder

Create an instance of AwsOpenSearch using the builder syntax

Source§

impl AwsOpenSearch

Source

pub const RESOURCE_TYPE: ResourceType

The resource type identifier for AwsOpenSearch.

The experimental/ prefix marks the experimental namespace; see the struct-level docs for the convention.

Source

pub fn id(&self) -> &str

Returns the collection’s unique identifier.

Source

pub fn validate_capacity(&self) -> Result<()>

Validates collection-group capacity values against AWS’s supported OCU increments and min/max ordering.

Trait Implementations§

Source§

impl Clone for AwsOpenSearch

Source§

fn clone(&self) -> AwsOpenSearch

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AwsOpenSearch

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for AwsOpenSearch

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Eq for AwsOpenSearch

Source§

impl PartialEq for AwsOpenSearch

Source§

fn eq(&self, other: &AwsOpenSearch) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl ResourceDefinition for AwsOpenSearch

Source§

fn get_resource_type(&self) -> ResourceType

Returns the resource type for this instance
Source§

fn id(&self) -> &str

Returns the unique identifier for this specific resource instance
Source§

fn get_dependencies(&self) -> Vec<ResourceRef>

Returns the list of other resources this resource depends on
Source§

fn validate_update(&self, new_config: &dyn ResourceDefinition) -> Result<()>

Validates if an update from the current configuration to a new configuration is allowed
Source§

fn as_any(&self) -> &dyn Any

Provides access to the underlying concrete type for downcasting
Source§

fn as_any_mut(&mut self) -> &mut dyn Any

Provides mutable access to the underlying concrete type for downcasting
Source§

fn box_clone(&self) -> Box<dyn ResourceDefinition>

Creates a boxed clone of this resource definition
Source§

fn resource_eq(&self, other: &dyn ResourceDefinition) -> bool

For equality comparison between resource definitions
Source§

fn to_json_value(&self) -> Result<Value>

Serialize this resource to a JSON value (without the “type” tag - that’s added by Resource)
Source§

fn get_permissions(&self) -> Option<&str>

Returns the permission profile name for this resource, if it has one. Read more
Source§

impl Serialize for AwsOpenSearch

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for AwsOpenSearch

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more