Class Infrastructure.Builder
java.lang.Object
security.whisper.javastix.sdo.objects.Infrastructure.Builder
- Enclosing class:
Infrastructure
Builds instances of type
Infrastructure.
Initialize attributes and then invoke the build() method to create an
immutable instance.
Builder is not thread-safe and generally should not be stored in a field or collection,
but instead used immediately to create instances.
-
Method Summary
Modifier and TypeMethodDescriptionfinal Infrastructure.BuilderAdds one element toaliasesset.final Infrastructure.BuilderaddAliases(String... elements) Adds elements toaliasesset.final Infrastructure.BuilderaddAllAliases(Iterable<String> elements) Adds elements toaliasesset.final Infrastructure.BuilderaddAllExternalReferences(Iterable<? extends ExternalReferenceType> elements) Adds elements toexternalReferencesset.final Infrastructure.BuilderaddAllGranularMarkings(Iterable<? extends GranularMarkingDm> elements) Adds elements togranularMarkingsset.final Infrastructure.BuilderaddAllInfrastructureTypes(Iterable<String> elements) Adds elements toinfrastructureTypesset.final Infrastructure.BuilderaddAllKillChainPhases(Iterable<? extends KillChainPhaseType> elements) Adds elements tokillChainPhasesset.final Infrastructure.BuilderaddAllLabels(Iterable<String> elements) Adds elements tolabelsset.final Infrastructure.BuilderaddAllObjectMarkingRefs(Iterable<? extends MarkingDefinitionDm> elements) Adds elements toobjectMarkingRefsset.final Infrastructure.BuilderaddAllRelationships(Iterable<? extends RelationshipSro> elements) Adds elements torelationshipsset.final Infrastructure.BuilderAdds one element toexternalReferencesset.final Infrastructure.BuilderaddExternalReferences(ExternalReferenceType... elements) Adds elements toexternalReferencesset.final Infrastructure.BuilderaddGranularMarking(GranularMarkingDm element) Adds one element togranularMarkingsset.final Infrastructure.BuilderaddGranularMarkings(GranularMarkingDm... elements) Adds elements togranularMarkingsset.final Infrastructure.BuilderaddInfrastructureType(String element) Adds one element toinfrastructureTypesset.final Infrastructure.BuilderaddInfrastructureTypes(String... elements) Adds elements toinfrastructureTypesset.final Infrastructure.BuilderaddKillChainPhase(KillChainPhaseType element) Adds one element tokillChainPhasesset.final Infrastructure.BuilderaddKillChainPhases(KillChainPhaseType... elements) Adds elements tokillChainPhasesset.final Infrastructure.BuilderAdds one element tolabelsset.final Infrastructure.BuilderAdds elements tolabelsset.final Infrastructure.BuilderaddObjectMarkingRef(MarkingDefinitionDm element) Adds one element toobjectMarkingRefsset.final Infrastructure.BuilderaddObjectMarkingRefs(MarkingDefinitionDm... elements) Adds elements toobjectMarkingRefsset.final Infrastructure.BuilderaddRelationship(RelationshipSro element) Adds one element torelationshipsset.final Infrastructure.BuilderaddRelationships(RelationshipSro... elements) Adds elements torelationshipsset.final Infrastructure.BuilderSets or replaces all elements foraliasesset.build()Builds a newInfrastructure.final Infrastructure.Buildercreated(StixInstant created) Initializes the value for thecreatedattribute.final Infrastructure.BuildercreatedByRef(Optional<? extends IdentitySdo> createdByRef) Initializes the optional valuecreatedByRefto createdByRef.final Infrastructure.BuildercreatedByRef(IdentitySdo createdByRef) Initializes the optional valuecreatedByRefto createdByRef.final Infrastructure.BuildercustomProperties(Map<String, ? extends Object> entries) Sets or replaces all mappings from the specified map as entries for thecustomPropertiesmap.final Infrastructure.Builderdescription(String description) Initializes the optional valuedescriptionto description.final Infrastructure.Builderdescription(Optional<String> description) Initializes the optional valuedescriptionto description.final Infrastructure.BuilderexternalReferences(Iterable<? extends ExternalReferenceType> elements) Sets or replaces all elements forexternalReferencesset.final Infrastructure.BuilderfirstSeen(Optional<? extends StixInstant> firstSeen) Initializes the optional valuefirstSeento firstSeen.final Infrastructure.BuilderfirstSeen(StixInstant firstSeen) Initializes the optional valuefirstSeento firstSeen.final Infrastructure.Builderfrom(BundleableObject instance) Fill a builder with attribute values from the providedsecurity.whisper.javastix.bundle.BundleableObjectinstance.final Infrastructure.Builderfrom(StixCommonProperties instance) Fill a builder with attribute values from the providedsecurity.whisper.javastix.common.StixCommonPropertiesinstance.final Infrastructure.Builderfrom(StixCustomProperties instance) Fill a builder with attribute values from the providedsecurity.whisper.javastix.common.StixCustomPropertiesinstance.final Infrastructure.Builderfrom(StixLabels instance) Fill a builder with attribute values from the providedsecurity.whisper.javastix.common.StixLabelsinstance.final Infrastructure.Builderfrom(StixModified instance) Fill a builder with attribute values from the providedsecurity.whisper.javastix.common.StixModifiedinstance.final Infrastructure.Builderfrom(StixRevoked instance) Fill a builder with attribute values from the providedsecurity.whisper.javastix.common.StixRevokedinstance.final Infrastructure.Builderfrom(DomainObject instance) Fill a builder with attribute values from the providedsecurity.whisper.javastix.sdo.DomainObjectinstance.final Infrastructure.Builderfrom(InfrastructureSdo instance) Fill a builder with attribute values from the providedsecurity.whisper.javastix.sdo.objects.InfrastructureSdoinstance.final Infrastructure.BuildergranularMarkings(Iterable<? extends GranularMarkingDm> elements) Sets or replaces all elements forgranularMarkingsset.final Infrastructure.Builderhydrated(boolean hydrated) Initializes the value for thehydratedattribute.final Infrastructure.BuilderInitializes the value for theidattribute.final Infrastructure.BuilderinfrastructureTypes(Iterable<String> elements) Sets or replaces all elements forinfrastructureTypesset.final Infrastructure.BuilderkillChainPhases(Iterable<? extends KillChainPhaseType> elements) Sets or replaces all elements forkillChainPhasesset.final Infrastructure.BuilderSets or replaces all elements forlabelsset.final Infrastructure.BuilderInitializes the optional valuelangto lang.final Infrastructure.BuilderInitializes the optional valuelangto lang.final Infrastructure.BuilderlastSeen(Optional<? extends StixInstant> lastSeen) Initializes the optional valuelastSeento lastSeen.final Infrastructure.BuilderlastSeen(StixInstant lastSeen) Initializes the optional valuelastSeento lastSeen.final Infrastructure.Buildermodified(StixInstant modified) Initializes the value for themodifiedattribute.final Infrastructure.BuilderInitializes the value for thenameattribute.final Infrastructure.BuilderobjectMarkingRefs(Iterable<? extends MarkingDefinitionDm> elements) Sets or replaces all elements forobjectMarkingRefsset.final Infrastructure.BuilderputAllCustomProperties(Map<String, ? extends Object> entries) Put all mappings from the specified map as entries tocustomPropertiesmap.final Infrastructure.BuilderputCustomProperty(String key, Object value) Put one entry to thecustomPropertiesmap.final Infrastructure.BuilderputCustomProperty(Map.Entry<String, ? extends Object> entry) Put one entry to thecustomPropertiesmap.final Infrastructure.Builderrelationships(Iterable<? extends RelationshipSro> elements) Sets or replaces all elements forrelationshipsset.final Infrastructure.Builderrevoked(StixBoolean revoked) Initializes the value for therevokedattribute.final Infrastructure.BuilderInitializes the value for thetypeattribute.
-
Method Details
-
from
Fill a builder with attribute values from the providedsecurity.whisper.javastix.bundle.BundleableObjectinstance.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
from
Fill a builder with attribute values from the providedsecurity.whisper.javastix.common.StixCommonPropertiesinstance.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
from
Fill a builder with attribute values from the providedsecurity.whisper.javastix.common.StixRevokedinstance.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
from
Fill a builder with attribute values from the providedsecurity.whisper.javastix.common.StixCustomPropertiesinstance.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
from
Fill a builder with attribute values from the providedsecurity.whisper.javastix.common.StixLabelsinstance.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
from
Fill a builder with attribute values from the providedsecurity.whisper.javastix.sdo.objects.InfrastructureSdoinstance.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
from
Fill a builder with attribute values from the providedsecurity.whisper.javastix.common.StixModifiedinstance.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
from
Fill a builder with attribute values from the providedsecurity.whisper.javastix.sdo.DomainObjectinstance.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
name
@CanIgnoreReturnValue @JsonPropertyDescription("The name used to identify the Infrastructure.") public final Infrastructure.Builder name(String name) Initializes the value for thenameattribute.- Parameters:
name- The value for name (can benull)- Returns:
thisbuilder for use in a chained invocation
-
description
Initializes the optional valuedescriptionto description.- Parameters:
description- The value for description- Returns:
thisbuilder for chained invocation
-
description
@CanIgnoreReturnValue @JsonPropertyDescription("A description that provides more details and context about the Infrastructure, potentially including its purpose and its key characteristics.") public final Infrastructure.Builder description(Optional<String> description) Initializes the optional valuedescriptionto description.- Parameters:
description- The value for description- Returns:
thisbuilder for use in a chained invocation
-
addInfrastructureType
@CanIgnoreReturnValue public final Infrastructure.Builder addInfrastructureType(@Nullable String element) Adds one element toinfrastructureTypesset.- Parameters:
element- A infrastructureTypes element- Returns:
thisbuilder for use in a chained invocation
-
addInfrastructureTypes
@CanIgnoreReturnValue public final Infrastructure.Builder addInfrastructureTypes(String... elements) Adds elements toinfrastructureTypesset.- Parameters:
elements- An array of infrastructureTypes elements- Returns:
thisbuilder for use in a chained invocation
-
infrastructureTypes
@CanIgnoreReturnValue @JsonPropertyDescription("The type of infrastructure being described. Open Vocabulary: infrastructure-type-ov") public final Infrastructure.Builder infrastructureTypes(Iterable<String> elements) Sets or replaces all elements forinfrastructureTypesset.- Parameters:
elements- An iterable of infrastructureTypes elements- Returns:
thisbuilder for use in a chained invocation
-
addAllInfrastructureTypes
@CanIgnoreReturnValue public final Infrastructure.Builder addAllInfrastructureTypes(Iterable<String> elements) Adds elements toinfrastructureTypesset.- Parameters:
elements- An iterable of infrastructureTypes elements- Returns:
thisbuilder for use in a chained invocation
-
addAliase
Adds one element toaliasesset.- Parameters:
element- A aliases element- Returns:
thisbuilder for use in a chained invocation
-
addAliases
Adds elements toaliasesset.- Parameters:
elements- An array of aliases elements- Returns:
thisbuilder for use in a chained invocation
-
aliases
@CanIgnoreReturnValue @JsonPropertyDescription("Alternative names used to identify this Infrastructure.") public final Infrastructure.Builder aliases(Iterable<String> elements) Sets or replaces all elements foraliasesset.- Parameters:
elements- An iterable of aliases elements- Returns:
thisbuilder for use in a chained invocation
-
addAllAliases
Adds elements toaliasesset.- Parameters:
elements- An iterable of aliases elements- Returns:
thisbuilder for use in a chained invocation
-
addKillChainPhase
@CanIgnoreReturnValue public final Infrastructure.Builder addKillChainPhase(@Nullable KillChainPhaseType element) Adds one element tokillChainPhasesset.- Parameters:
element- A killChainPhases element- Returns:
thisbuilder for use in a chained invocation
-
addKillChainPhases
@CanIgnoreReturnValue public final Infrastructure.Builder addKillChainPhases(KillChainPhaseType... elements) Adds elements tokillChainPhasesset.- Parameters:
elements- An array of killChainPhases elements- Returns:
thisbuilder for use in a chained invocation
-
killChainPhases
@CanIgnoreReturnValue @JsonPropertyDescription("The list of kill chain phases for which this Infrastructure is used.") public final Infrastructure.Builder killChainPhases(Iterable<? extends KillChainPhaseType> elements) Sets or replaces all elements forkillChainPhasesset.- Parameters:
elements- An iterable of killChainPhases elements- Returns:
thisbuilder for use in a chained invocation
-
addAllKillChainPhases
@CanIgnoreReturnValue public final Infrastructure.Builder addAllKillChainPhases(Iterable<? extends KillChainPhaseType> elements) Adds elements tokillChainPhasesset.- Parameters:
elements- An iterable of killChainPhases elements- Returns:
thisbuilder for use in a chained invocation
-
firstSeen
Initializes the optional valuefirstSeento firstSeen.- Parameters:
firstSeen- The value for firstSeen- Returns:
thisbuilder for chained invocation
-
firstSeen
@CanIgnoreReturnValue @JsonPropertyDescription("The time that this Infrastructure was first seen performing malicious activities.") public final Infrastructure.Builder firstSeen(Optional<? extends StixInstant> firstSeen) Initializes the optional valuefirstSeento firstSeen.- Parameters:
firstSeen- The value for firstSeen- Returns:
thisbuilder for use in a chained invocation
-
lastSeen
Initializes the optional valuelastSeento lastSeen.- Parameters:
lastSeen- The value for lastSeen- Returns:
thisbuilder for chained invocation
-
lastSeen
@CanIgnoreReturnValue @JsonPropertyDescription("The time that this Infrastructure was last seen performing malicious activities.") public final Infrastructure.Builder lastSeen(Optional<? extends StixInstant> lastSeen) Initializes the optional valuelastSeento lastSeen.- Parameters:
lastSeen- The value for lastSeen- Returns:
thisbuilder for use in a chained invocation
-
addRelationship
@CanIgnoreReturnValue public final Infrastructure.Builder addRelationship(@Nullable RelationshipSro element) Adds one element torelationshipsset.- Parameters:
element- A relationships element- Returns:
thisbuilder for use in a chained invocation
-
addRelationships
@CanIgnoreReturnValue public final Infrastructure.Builder addRelationships(RelationshipSro... elements) Adds elements torelationshipsset.- Parameters:
elements- An array of relationships elements- Returns:
thisbuilder for use in a chained invocation
-
relationships
@CanIgnoreReturnValue public final Infrastructure.Builder relationships(Iterable<? extends RelationshipSro> elements) Sets or replaces all elements forrelationshipsset.- Parameters:
elements- An iterable of relationships elements- Returns:
thisbuilder for use in a chained invocation
-
addAllRelationships
@CanIgnoreReturnValue public final Infrastructure.Builder addAllRelationships(Iterable<? extends RelationshipSro> elements) Adds elements torelationshipsset.- Parameters:
elements- An iterable of relationships elements- Returns:
thisbuilder for use in a chained invocation
-
hydrated
Initializes the value for thehydratedattribute.If not set, this attribute will have a default value as returned by the initializer of
hydrated.- Parameters:
hydrated- The value for hydrated- Returns:
thisbuilder for use in a chained invocation
-
type
@CanIgnoreReturnValue @JsonPropertyDescription("The type property identifies the type of STIX Object (SDO, Relationship Object, etc). The value of the type field MUST be one of the types defined by a STIX Object (e.g., indicator).") public final Infrastructure.Builder type(String type) Initializes the value for thetypeattribute.- Parameters:
type- The value for type (can benull)- Returns:
thisbuilder for use in a chained invocation
-
id
@CanIgnoreReturnValue @JsonPropertyDescription("Represents identifiers across the CTI specifications. The format consists of the name of the top-level object being identified, followed by two dashes (--), followed by a UUIDv4.") public final Infrastructure.Builder id(String id) Initializes the value for theidattribute.- Parameters:
id- The value for id (can benull)- Returns:
thisbuilder for use in a chained invocation
-
createdByRef
Initializes the optional valuecreatedByRefto createdByRef.- Parameters:
createdByRef- The value for createdByRef- Returns:
thisbuilder for chained invocation
-
createdByRef
@CanIgnoreReturnValue @JsonPropertyDescription("Represents identifiers across the CTI specifications. The format consists of the name of the top-level object being identified, followed by two dashes (--), followed by a UUIDv4.") public final Infrastructure.Builder createdByRef(Optional<? extends IdentitySdo> createdByRef) Initializes the optional valuecreatedByRefto createdByRef.- Parameters:
createdByRef- The value for createdByRef- Returns:
thisbuilder for use in a chained invocation
-
created
@CanIgnoreReturnValue @JsonPropertyDescription("The created property represents the time at which the first version of this object was created. The timstamp value MUST be precise to the nearest millisecond.") public final Infrastructure.Builder created(StixInstant created) Initializes the value for thecreatedattribute.If not set, this attribute will have a default value as returned by the initializer of
created.- Parameters:
created- The value for created- Returns:
thisbuilder for use in a chained invocation
-
lang
Initializes the optional valuelangto lang.- Parameters:
lang- The value for lang- Returns:
thisbuilder for chained invocation
-
lang
@CanIgnoreReturnValue @JsonPropertyDescription("Identifies the language of the text content in this object using ISO 639-2 language codes.") public final Infrastructure.Builder lang(Optional<String> lang) Initializes the optional valuelangto lang.- Parameters:
lang- The value for lang- Returns:
thisbuilder for use in a chained invocation
-
addExternalReference
@CanIgnoreReturnValue public final Infrastructure.Builder addExternalReference(@Nullable ExternalReferenceType element) Adds one element toexternalReferencesset.- Parameters:
element- A externalReferences element- Returns:
thisbuilder for use in a chained invocation
-
addExternalReferences
@CanIgnoreReturnValue public final Infrastructure.Builder addExternalReferences(ExternalReferenceType... elements) Adds elements toexternalReferencesset.- Parameters:
elements- An array of externalReferences elements- Returns:
thisbuilder for use in a chained invocation
-
externalReferences
@CanIgnoreReturnValue @JsonPropertyDescription("A list of external references which refers to non-STIX information.") public final Infrastructure.Builder externalReferences(Iterable<? extends ExternalReferenceType> elements) Sets or replaces all elements forexternalReferencesset.- Parameters:
elements- An iterable of externalReferences elements- Returns:
thisbuilder for use in a chained invocation
-
addAllExternalReferences
@CanIgnoreReturnValue public final Infrastructure.Builder addAllExternalReferences(Iterable<? extends ExternalReferenceType> elements) Adds elements toexternalReferencesset.- Parameters:
elements- An iterable of externalReferences elements- Returns:
thisbuilder for use in a chained invocation
-
addObjectMarkingRef
@CanIgnoreReturnValue public final Infrastructure.Builder addObjectMarkingRef(@Nullable MarkingDefinitionDm element) Adds one element toobjectMarkingRefsset.- Parameters:
element- A objectMarkingRefs element- Returns:
thisbuilder for use in a chained invocation
-
addObjectMarkingRefs
@CanIgnoreReturnValue public final Infrastructure.Builder addObjectMarkingRefs(MarkingDefinitionDm... elements) Adds elements toobjectMarkingRefsset.- Parameters:
elements- An array of objectMarkingRefs elements- Returns:
thisbuilder for use in a chained invocation
-
objectMarkingRefs
@CanIgnoreReturnValue @JsonPropertyDescription("The list of marking-definition objects to be applied to this object.") public final Infrastructure.Builder objectMarkingRefs(Iterable<? extends MarkingDefinitionDm> elements) Sets or replaces all elements forobjectMarkingRefsset.- Parameters:
elements- An iterable of objectMarkingRefs elements- Returns:
thisbuilder for use in a chained invocation
-
addAllObjectMarkingRefs
@CanIgnoreReturnValue public final Infrastructure.Builder addAllObjectMarkingRefs(Iterable<? extends MarkingDefinitionDm> elements) Adds elements toobjectMarkingRefsset.- Parameters:
elements- An iterable of objectMarkingRefs elements- Returns:
thisbuilder for use in a chained invocation
-
addGranularMarking
@CanIgnoreReturnValue public final Infrastructure.Builder addGranularMarking(@Nullable GranularMarkingDm element) Adds one element togranularMarkingsset.- Parameters:
element- A granularMarkings element- Returns:
thisbuilder for use in a chained invocation
-
addGranularMarkings
@CanIgnoreReturnValue public final Infrastructure.Builder addGranularMarkings(GranularMarkingDm... elements) Adds elements togranularMarkingsset.- Parameters:
elements- An array of granularMarkings elements- Returns:
thisbuilder for use in a chained invocation
-
granularMarkings
@CanIgnoreReturnValue @JsonPropertyDescription("The set of granular markings that apply to this object.") public final Infrastructure.Builder granularMarkings(Iterable<? extends GranularMarkingDm> elements) Sets or replaces all elements forgranularMarkingsset.- Parameters:
elements- An iterable of granularMarkings elements- Returns:
thisbuilder for use in a chained invocation
-
addAllGranularMarkings
@CanIgnoreReturnValue public final Infrastructure.Builder addAllGranularMarkings(Iterable<? extends GranularMarkingDm> elements) Adds elements togranularMarkingsset.- Parameters:
elements- An iterable of granularMarkings elements- Returns:
thisbuilder for use in a chained invocation
-
putCustomProperty
@CanIgnoreReturnValue public final Infrastructure.Builder putCustomProperty(String key, Object value) Put one entry to thecustomPropertiesmap.- Parameters:
key- The key in the customProperties mapvalue- The associated value in the customProperties map- Returns:
thisbuilder for use in a chained invocation
-
putCustomProperty
@CanIgnoreReturnValue public final Infrastructure.Builder putCustomProperty(Map.Entry<String, ? extends Object> entry) Put one entry to thecustomPropertiesmap. Nulls are not permitted- Parameters:
entry- The key and value entry- Returns:
thisbuilder for use in a chained invocation
-
customProperties
@CanIgnoreReturnValue public final Infrastructure.Builder customProperties(Map<String, ? extends Object> entries) Sets or replaces all mappings from the specified map as entries for thecustomPropertiesmap. Nulls are not permitted- Parameters:
entries- The entries that will be added to the customProperties map- Returns:
thisbuilder for use in a chained invocation
-
putAllCustomProperties
@CanIgnoreReturnValue public final Infrastructure.Builder putAllCustomProperties(Map<String, ? extends Object> entries) Put all mappings from the specified map as entries tocustomPropertiesmap. Nulls are not permitted- Parameters:
entries- The entries that will be added to the customProperties map- Returns:
thisbuilder for use in a chained invocation
-
addLabel
Adds one element tolabelsset.- Parameters:
element- A labels element- Returns:
thisbuilder for use in a chained invocation
-
addLabels
Adds elements tolabelsset.- Parameters:
elements- An array of labels elements- Returns:
thisbuilder for use in a chained invocation
-
labels
@CanIgnoreReturnValue @JsonPropertyDescription("The labels property specifies a set of classifications.") public final Infrastructure.Builder labels(Iterable<String> elements) Sets or replaces all elements forlabelsset.- Parameters:
elements- An iterable of labels elements- Returns:
thisbuilder for use in a chained invocation
-
addAllLabels
Adds elements tolabelsset.- Parameters:
elements- An iterable of labels elements- Returns:
thisbuilder for use in a chained invocation
-
modified
@CanIgnoreReturnValue @JsonPropertyDescription("The modified property represents the time that this particular version of the object was created. The timstamp value MUST be precise to the nearest millisecond.") public final Infrastructure.Builder modified(StixInstant modified) Initializes the value for themodifiedattribute.If not set, this attribute will have a default value as returned by the initializer of
modified.- Parameters:
modified- The value for modified- Returns:
thisbuilder for use in a chained invocation
-
revoked
@CanIgnoreReturnValue @JsonPropertyDescription("The revoked property indicates whether the object has been revoked.") public final Infrastructure.Builder revoked(StixBoolean revoked) Initializes the value for therevokedattribute.If not set, this attribute will have a default value as returned by the initializer of
revoked.- Parameters:
revoked- The value for revoked- Returns:
thisbuilder for use in a chained invocation
-
build
Builds a newInfrastructure.- Returns:
- An immutable instance of Infrastructure
- Throws:
IllegalStateException- if any required attributes are missing
-